方法一
系統默認情況下只有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