免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1353 | 回复: 0
打印 上一主题 下一主题

让UNIX普通用户具备关机权限 [复制链接]

论坛徽章:
2
丑牛
日期:2013-09-29 09:47:222015七夕节徽章
日期:2015-08-21 11:06:17
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2008-05-05 09:19 |只看该作者 |倒序浏览
在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 "\n\n\n\n\n\n"
  setcolor red black
  echo " [ 普通用户关机程序 ] ** 警告** "
  setcolor yellow black
  echo "以下用户未退出系统无法自动关机。请选择关机方式:\n"
  echo " 注册用户注册终端号"
  w -h | fgrep -v halt | awk '{print " " $1 " " $2}'
  echo " \n\n "
  echo " 1: 中断关机程序。"
  echo " 2: 系统强行关闭计算机。(可能会造成数据丢失)\n\n"
  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 "\n\n 普通用户关机程序不能在终端上运行!!"
  esac
  exit
  将以上内容用vi编辑器编辑保存为 /etc/halt,并将该文件的权限修改为一般用户可读可执行即可。
  这样,一般用户只需在“Login:”状态下输入halt 用户名,即可实现系统的自动关闭。当然,若此时系统中有其它用户尚未退出,则会给出提示信息,而不会自动强行关闭系统。另外该关机用户在终端上不能关闭系统,这也提高了系统的安全性。该方法在SCO Open UNIX 5.0操作系统中试验通过。
文章来源:www.linuxeden.com-Linux伊甸园

本站文章仅代表作者观点,本站仅传递信息,并不表示赞同或反对.转载本站点内容时请注明来自
www.linuxeden.com
-Linux伊甸园。如不注明,
www.linuxeden.com
将根据《互联网著作权行政保护办法》追究其相应法律责任。

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/4206/showart_673329.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP