|
方法一
系统默认情况下只有root用户才有执行他们的权限。你可以将/sbin/reboot和 /sbin/halt的用户与用户组都设置为root,然后设置它们的执行权限。 如下: #chown root:root /sbin/halt #chmod 744 /sbin/halt 第一条命令将halt的用户和用户组设置为root,第二条命令设置它的拥有者即root有读写执行权限,其它用户为只读权限。
方法二
linux中普通用户默认能执行reboot,halt和poweroff等权限,一般为了安全起见,需要修改. 以root用户进入/etc/security/console.apps目录下,删除reboot和halt及poweroff即可. [root@rac01 console.apps]# pwd /etc/security/console.apps [root@rac01 console.apps]# rm -rf poweroff [root@rac01 console.apps]# rm -rf reboot [root@rac01 console.apps]# rm -rf halt [root@rac01 console.apps]#
再以普通用户登录,执行上述关机命令,系统能识别,但没有反应.
linux怎么给一个普通用户reboot权限?
分四种情况讨论: 1.让任何人(包括根本不拥有系统帐号的人)都可以通过控制台reboot 在/etc/inittab文件中保留ca::ctrlaltdel:/sbin/shutdown -t3 -r now 这一行。这样全国人民都可以reboot你的机器,只要你把控制台交出来。 2.让所有系统用户都可以reboot 执行# > /etc/security/console.apps/reboot即可。这就在console.apps目录下生成了一个空文件,文件名就是授权的application。以上路径是针对Mandrake系统而言的,其他系统我不清楚。不过,真正高雅的Mandraker或许根本就不会去靠“>”来生成这个文件——他们会使用msec来进行控制的。 3.让指定的用户才可以reboot 假设我们要让用户zhizunbao拥有reboot的权限,我们靠uid/gid来完成控制: # groupadd reboot # cd /usr/local # mkdir reboot # chown root:reboot reboot/ # chmod 750 reboot/ # cd reboot # cp /sbin/reboot . # chmod 4755 reboot # usermod -G reboot zhizunbao 现在,zhizunbao就可以运行/usr/local/reboot/reboot来重启动机器。 4.在一台不设普通用户的机器上启用口令验证reboot 这实际上是靠添加一个关机帐号来实现的,该帐号的shell就是加了s位的/sbin/halt,并且口令只有少数维护人员知道。我们这里采用的就是第4套方案。
转自:http://hi.baidu.com/bing51027/item/b891400d4d0c79374ac4a3a0 |