当前位置: 首页 > 图文教程 > 操作系统 > Unix/Linux > 让UNIX普通用户具备关机权限

Unix/Linux
linux 操作技巧收集_
linux下如何读取使用iso 镜像文件的方法
Linux平台下文件的压缩与解压参数说明
Linux下常用压缩格式的压缩与解压方法
Linux JDK,TOMCAT安装及环境设置
Linux sleep命令使用参数
Linux cat命令参数
nfs 配置的简单例子
linux kill 关闭进程命令
linux ultrasphinx Anonymous modules have no name to be referenced by
Linux oracle 9i图文安装方法一
Linux oracle 9i图文安装教程二
Linux oracle 9i图文安装教程三
Linux oracle 9i图文安装教程四
Linux oracle 9i图文安装教程五
Linux oracle 9i图文安装教程六 完结篇
linux AS3 oracle9i 安装指南
Linux 下 (RedHat 9.0) JDK,Tomcat,MySQL的安装
RedHat 9.0下Apache+PHP+MySQL服务器安装配置
Linux 下用 Python 连接 MSSql Server 2008

Unix/Linux 中的 让UNIX普通用户具备关机权限


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-11-01   浏览: 56 ::
收藏到网摘: n/a


  在UNIX系统中,超级用户掌握着系统的所有权限,关机命令也是其中非常重要的一项权限。但在某些情况下,我们非常希望普通用户也能执行关机命令,而不具备其它的超级权限。
  
  为了使普通用户具备关机权限,我们需要创建一个专门进行关机的用户,将它的sh修改为我们指定的关机程序。具体操作如下:
  
  首先,我们在UNIX系统中正常建立一halt用户,在建立时我们可以设置该用户为无口令用户。然后,用 vi 编辑器修改 /etc/passwd 文件。将我们刚建立的 halt 用户一行的内容修改为:
  
  halt:x:0:1:/etc:/etc/halt
  
  即该用户具有超级用户权限,但是它的启动目录为/etc,执行的sh为我们指定的可执行程序/etc/halt,该执行文件的内容如下:
  
  HALT_TERMINAL=`tty`
  
  case "$HALT_TERMINAL"
  
  in
  
  /dev/tty0[1-9]|/dev/tty1[012])
  
  w-h | fgrep -v halt > /dev/null
  
  if [ $? = 0 ]
  
  then
  
  clear
  
  echo "nnnnnn"
  
  setcolor red black
  
  echo " [ 普通用户关机程序 ] ** 警告** "
  
  setcolor yellow black
  
  echo "以下用户未退出系统无法自动关机。请选择关机方式:n"
  
  echo " 注册用户注册终端号"
  
  w -h | fgrep -v halt | awk ‘{print " " $1 " " $2}‘
  
  echo " nn "
  
  echo " 1: 中断关机程序。"

  
  echo " 2: 系统强行关闭计算机。(可能会造成数据丢失)nn"
  
  while true
  
  do
  
  echo -n " 请选择:"
  
  read select
  
  if test"$select"= 1
  
  then
  
  setcolor white black
  
  clear
  
  exit 1
  
  else
  
  if test "$select"=2
  
  then
  
  setcolor white black
  
  /etc/haltsys
  
  fi
  
  fi
  
  done
  
  else
  
  cd /usr/tmp
  
  rm -f *
  
  cd
  
  /etc/haltsys
  
  fi
  
  echo "nn 普通用户关机程序不能在终端上运行!!"
  
  esac
  
  exit
  
  将以上内容用vi编辑器编辑保存为 /etc/halt,并将该文件的权限修改为一般用户可读可执行即可。
  
  这样,一般用户只需在“Login:”状态下输入halt 用户名,即可实现系统的自动关闭。当然,若此时系统中有其它用户尚未退出,则会给出提示信息,而不会自动强行关闭系统。另外该关机用户在终端上不能关闭系统,这也提高了系统的安全性。该方法在SCO Open UNIX 5.0操作系统中试验通过。