歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> GNU/Linux中的su【測試環境Ubuntu 10.10】

GNU/Linux中的su【測試環境Ubuntu 10.10】

日期:2017/2/28 16:13:27   编辑:Linux教程

su是switch user的縮寫,為了從某個用戶環境中切換到另一個用戶環境中,比如說su – root是切換到root用戶,並且使用root用戶的環境變量,而su root是切換到root用戶,但使用的是當前用戶的環境變量,再多的就不再贅述.

su的存在方便了用戶,但是也有安全隱患,su的濫用可能導致安全隱患.

本文主要體驗利用PAM來限制su的行為

測試環境:Ubuntu 10.10

查看當前用戶的情況

在Ubuntu系統中,默認安裝時第一個用戶被添加到admin組,我安裝ubuntu時的用戶是freetstar,用id命令查看freetstar所在的用戶組

┌┌(freetstar@freetstar-lap)┌(3657/pts/1)┌(01:02pm:06/09/11)

┌-└┌(%:~)┌- id

uid=1000(freetstar) gid=1000(freetstar) groups=1000(freetstar),4(adm),20(dialout),24(cdrom),29(audio),30(dip),46(plugdev),110(netdev),111(lpadmin),119(admin),122(sambashare),125(libvirtd)

第一步:測試正常情況下的su操作

┌┌(freetstar@freetstar-lap)┌(3671/pts/8)┌(01:23pm:06/09/11)┌-

└┌(%:/var/log)┌- sudo passwd root

Enter new UNIX password:

Retype new UNIX password:

passwd: password updated successfully

#說明,首先利用sudo給root用戶設置密碼

┌┌(freetstar@freetstar-lap)┌(3673/pts/8)┌(01:28pm:06/09/11)┌-

└┌(%:/var/log)┌- su – root

Password:

┌┌(root@freetstar-lap)┌(23/pts/8)┌(01:28pm:06/09/11)┌-

└┌(#:~)┌-

#su到root用戶 ┌(freetstar@freetstar-lap)┌(3674/pts/8)┌(01:31pm:06/09/11)┌- └┌(%:/var/log)┌- sudo tail -f auth.log …… Jun 9 13:30:15 freetstar-lap su[15097]: Successful su for root by freetstar Jun 9 13:30:15 freetstar-lap su[15097]: + /dev/pts/7 freetstar:root Jun 9 13:30:15 freetstar-lap su[15097]: pam_unix(su:session): session opened for user root by freetstar(uid=1000) #查看auth信息,顯示freetstar這個用戶su到root用戶成功
第二步:修改認證模塊,只是注釋掉這兩個認證模塊
sudo vim /etc/pam.d/su # auth required pam_wheel.so # auth sufficient pam_wheel.so trust 第一行表示需要是wheel用戶組的用戶才可以執行su操作 第二行表示su時不需要提供密碼

保存退出,嘗試登錄root用戶,

┌┌(freetstar@freetstar-lap)┌(3662/pts/7)┌(01:39pm:06/09/11)┌-

└┌(%:~/Downloads)┌- su - root

Password:

su: Permission denied

#提示被拒

┌┌(freetstar@freetstar-lap)┌(3675/pts/8)┌(01:38pm:06/09/11)┌-

└┌(%:/var/log)┌- sudo tail -f auth.log

……

Jun 9 13:39:28 freetstar-lap su[15097]: pam_unix(su:session): session closed for user root

Jun 9 13:39:32 freetstar-lap su[15407]: pam_authenticate: Permission denied

Jun 9 13:39:32 freetstar-lap su[15407]: FAILED su for root by freetstar

Jun 9 13:39:32 freetstar-lap su[15407]: – /dev/pts/7 freetstar:root

#提示失敗

第三步:設置”wheel組”

Wheel本來的意義是讓只有在Wheel組中的用戶才有權限去執行su命令,但在現在的Linux發行版中,幾乎沒有了Wheel這樣一個組


基本上只有BSD發行版才默認啟用Wheel組.關於Linux中的wheel,看Richard大神怎麼說的:here

在這裡不用太麻煩地去添加wheel組,再usermod的將當前用戶添加到wheel組中.我們只

需要重新修改認證模塊的配置文件


sudo vim /etc/pam.d/su auth required pam_wheel.so group=admin auth sufficient pam_wheel.so trust #將默認的wheel組改成admin組,admin組即Ubuntu下的管理組


重新嘗試su


┌┌(freetstar@freetstar-lap)┌(3687/pts/7)┌(01:50pm:06/09/11)┌-

└┌(%:~/Downloads)┌- su - root

Password:

┌┌(root@freetstar-lap)┌(23/pts/7)┌(01:56pm:06/09/11)┌-

└┌(#:~)┌-

#成功了


auth.log就不再貼了,基本上和第一步的日志一樣

這裡有一個小問題:root用戶默認不再admin組裡,所以為了讓root用戶也可以無障礙su,需要將root用戶添加到admin組中


Tips:

1 任何使用su成功與否的信息都會在日志中有記錄

2 謹慎修改,修改不當會造成無法開機進入系統

Copyright © Linux教程網 All Rights Reserved