Linux下普通使用者執行shutdown

2021-09-21 16:47:52 字數 3162 閱讀 7107

題注:總會有一種感覺,很多的困惑會在網路上的某個角落得以解決,於是心情也會變得舒暢起來,我希望本文也可以帶給你這種感覺。

現在對其進行了ubuntu系統的普通使用者關機實現,試了以後才知道與fedora不略有不同。

[fedora5實現]

當前使用者名為:test,為一普通使用者。在輸入關機命令會出現must be superuser,需要超級使用者來執行此命令。操作如下:

[test@localhost ~]$ halt

halt: must be superuser.

經測試本人發現,可以使用umask命令來設定,如下:

[test@localhost ~]$ su -

password:

[root@localhost ~]# which halt

/sbin/halt

[root@localhost ~]# ll /sbin/halt

-rwxr-xr-x 1 root root 12584 feb 14  2006 /sbin/halt

[root@localhost ~]# chmod 4755 /sbin/halt

[root@localhost ~]# ll /sbin/halt

-rwsr-xr-x 1 root root 12584 feb 14  2006 /sbin/halt

[root@localhost ~]# exit

[test@localhost ~]$ halt

broadcast message from root (pts/1) (thu may 19 12:25:35 2011):

the system is going down for system halt now!

比較一下就會發現,當普通使用者執行halt命令時,系統反饋說「需要超級使用者來執行」,意思是可以找到我,但是你沒有執行我的許可權。

而shutdown 命令就不同了,普通使用者執行它時,系統反饋為:「沒有找到相關命令」,意思是你找不到我,當然更沒有執行我的許可權。

[test@localhost ~]$ shutdown

-bash: shutdown: command not found

針對這個問題,又該如何解決呢?呵呵。

[test@localhost ~]$ su -

password:

[root@localhost ~]# chmod 0755 /sbin/shutdown

[root@localhost ~]# which shutdown

/sbin/shutdown

[root@localhost ~]# ll /sbin/shutdown

-rwxr-xr-x 1 root root 21872 feb 14  2006 /sbin/shutdown

[root@localhost ~]# chmod 4755 /sbin/shutdown

[root@localhost ~]# ll /sbin/shutdown

-rwsr-xr-x 1 root root 21872 feb 14  2006 /sbin/shutdown

修改完成後嘗試執行如下:

[test@localhost ~]$ shutdown -h now

-bash: shutdown: command not found

還是不行!?

通過命令echo $path 發現裡面有沒有/sbin這個路徑,所以如果執行shutdown命令可以直接輸入絕對路徑。如下:

[test@localhost ~]$ /sbin/shutdown -h now

broadcast message from root (pts/1) (thu may 19 12:56:09 2011):

the system is going down for system halt now!

[ubuntu11.10]

參考上面的fedora更改的過程,對/sbin/shutdown的許可權進行更改,會提示更改失敗,如下:

shenzhi@sz08254:~$ sudo chmod 4755 /sbin/shutdown 

sudo: unable to resolve host sz08254

解決辦法是登入超級使用者進行操作,在ubuntu中超級使用者是沒有密碼的,也是不可以直接拿來用,若想使用必須先設定密碼,如下:

shenzhi@sz08254:~$ sudo passwd

sudo: unable to resolve host sz08254

enter new unix password: 

retype new unix password: 

passwd: password updated successfully

登入到超級使用者:

shenzhi@sz08254:~$ su -

password: 

查詢shutdown所在路徑:

root@sz08254:~# which shutdown

/sbin/shutdown

檢視shutdown檔案的許可權:

root@sz08254:~# ll /sbin/shutdown 

-rwsr-xr-x 1 root root 67360 2011-10-27 13:14 /sbin/shutdown*

更改shutdown的許可權:

root@sz08254:~# chmod 4755 /sbin/shutdown

退出超級使用者:

root@sz08254:~# exit

logout

使用普通使用者實施關機:

shenzhi@sz08254:~$ shutdown -h now

shenzhi@sz08254:~$ 

broadcast message from shenzhi@sz08254

(/dev/pts/0) at 10:42 ...

the system is going down for halt now!

connection to 192.168.0.50 closed by remote host.

connection to 192.168.0.50 closed.

【完】

Linux下新建普通使用者

root 使用者 也叫 超級使用者 是乙個特殊的系統管理帳號,可以修改系統裡的任何檔案。經常使用 root 使用者作為預設的登入使用者不是什麼好習慣 你的誤操作將有可能導致嚴重後果。建議設定乙個一般使用者給自己作為日常使用的帳號,只在必要使用 root 使用者的許可權時才登陸到 root 使用者模式...

Linux下普通使用者執行關機 重啟指令

在root使用者下用visudo命令新增以下 到 etc sudoers檔案的末端。替換其中的user為你的使用者名稱,hostname為你的主機名 可以使用hostname命令查詢 user hostname nopasswd sbin shutdown h now user hostname n...

linux下的普通使用者設定

安裝完centos7後,預設沒有啟用sudo,首先應該是對sudo進行設定。sudo 的作用就是使當前非root使用者在使用沒有許可權的命令 時,直接在命令前加入sudo,在輸入自己當前使用者的密碼就可以完成root使用者的功能,而不必在每次使用su 來回切換使用者了。sudo的配置檔案位於 etc...