让UNIX普通用户具备关机权限

2016-01-29 18:43 7 1 收藏

让UNIX普通用户具备关机权限,让UNIX普通用户具备关机权限

【 tulaoshi.com - Linux 】


  在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操作系统中试验通过。

来源:https://www.tulaoshi.com/n/20160129/1506998.html

延伸阅读
标签: Web开发
web2.0时代后到SNS社区再到云算法网站的SaaS平台。多交互流程和用户自定义的复杂化,都需要各种各样的提示信息来给用户带来引导。 通用提示是网页的重要组成部分,应用的多元化造成复杂的提示场景: 网站运者会在网站的变更中加上提示文字; 开发人员的系统提示也会出现在页面上; 一些网站独特的功能中也必须给出相应的...
标签: MySQL mysql数据库
  你可以有2个不同的方法增加用户:通过使用GRANT语句或通过直接操作MySQL授权表。比较好的方法是使用GRANT语句,因为他们是更简明并且好像错误少些。 下面的例子显示出如何使用mysql客户安装新用户。这些例子假定权限根据以前的章节描述的缺省被安装。这意味着为了改变,你必须在mysqld正在运行同一台机器上,你必须作为MySQL root用户...
标签: 电脑入门
如果你不希望自己的文件被人读取,又或者只是不想某个特定的用户读取修改文件,限制访问权限是最好的处理方法,下面图老师小编就给大家介绍下Linux下限制用户访问权限的方法,一起来学习下吧。 现在需要限定某个用户对特定目录/文件的访问权限,或者把某个用户的访问范围限制在某个目录/文件中。现实情况下,还是能遇到这样的需求的,比如...
标签: SQLServer
Sybase中的用户分为两种:SQL服务器用户(登录帐号)和数据库用户。 安装完SQL服务器后,系统自动建立一个SQL服务器用户sa,口令为空,即系统管理员,他对整个系统有操作权,其他用户均由系统管理员建立。 在SQL Server中有三种特殊的用户:系统管理员、用户数据库所有者(建立相应数据库的数据库用户)DBO、一般用户。系统管理员对整个系统有...
1.数据库安装时的参数设定 下面数据库所用的版本为ORACLE 9I (9.2.0),安装数据库时,数据库系统会创建一个数据库实例,其中:安装目录选为:oracle,数据库名与数据库SID号都输入:ora9i ,其中的字符集必须选为:ZHS16GBK(否则以后进行跨平台操作时对中文的操作将比较困难)。 2.数据库用户的创建、权限的分配 数据库安装完成后,有...

经验教程

346

收藏

47
微博分享 QQ分享 QQ空间 手机页面 收藏网站 回到头部