命令手冊:Linux系統(tǒng)SU命令
應(yīng)用Linux系統(tǒng)的用戶,經(jīng)常會遇到很多的命令,你全面了解這些命令么?不知道么關(guān)系,這里為你講解Linux系統(tǒng)命令。今天講解Linux系統(tǒng)SU命令的幾點(diǎn)安全建議,希望你能夠熟練Linux系統(tǒng)SU命令。
首先我們看su在man 幫助頁中的解釋su - run a shell with substitute userand group IDs ,也就是說通過su我們不用提供用戶和組名就可以啟動一個shell程序。 su 是一個二進(jìn)制的可執(zhí)行文件,命令所在的文件路徑是/bin/su ,下面是通過命令行查詢su文件的類型及所在路徑:
例一:
- islab$ which su
- /bin/su
例二:
- islab$ file /bin/su
- /bin/su : setuid ELF 32-bit LSB shared object, Intel 80386, version1 (SYSV), for GNU/Linux 2.6.9, stripped
例三:
islab$ll /bin/su
-rwsr-xr-x 1 root root 24060 Jan 10 2007 /bin/su
例三和例二中我們可以看到su是一個setuid程序(setuid位可以使用chmodu+s 進(jìn)行設(shè)置,如ls顯示su文件所有者屬性起用了setuid位),在這種情況下,su可以獲得比其所有者更高的權(quán)限,也就是說su運(yùn)行的時候,您的權(quán)限會被提升,將與root的權(quán)限等同。
例三中我們可以看到文件的類型是ELF 32-bit LSB shared object(設(shè)置了setuid位),也就是說程序需要libc這樣的函數(shù)庫,也需要使用了ELF 解釋器,并遵守LSB 規(guī)范。
問一:普通用戶可以從其它機(jī)器拷貝su命令。
答:他們可以從其它機(jī)器拷貝su命令,但是他們將不能對su進(jìn)行正確的權(quán)限設(shè)置比如chown root和chmod u+s 等等。所以拷貝過來su不能夠正常工作。
問二:如何防止普通用戶執(zhí)行su命令。
答:
1 )。你可以建立一個專門的組,只有組成員才能執(zhí)行su命令
- islab# groupadd wheel
- islab# useradd wheel
- islab# chown root :mysql /bin/bash
- islab# chmod 4750 /bin/su
2 )。只有root用戶才能執(zhí)行su命令。
islab# chmod 4700 /bin/su
3 )。通過pam 庫實(shí)現(xiàn)只有wheel 組成員才能執(zhí)行su命令,下面例子中增加了zhaoke帳號到wheel 組中。
- islab# groupadd wheel
- islab# useradd wheel
- islab# usermod -G wheel zhaoke
- islab# ll /lib/security/pam_wheel.so
- -rwxr-xr-x 1 root root 5692 Feb 22 2007 /lib/security/pam_wheel.so
- islab# vi /etc/pam.d/su
增加下面一行auth required /lib/security/pam_wheel.so use_uid
然后保存退出su配置文件。
問三:普通用戶雖然不能執(zhí)行su命令,但是還有可能通過蠻力攻擊獲得root的密碼
答:普通用戶可以在shell 或者ssh 方式對root帳戶進(jìn)行蠻力攻擊。我們可以考慮使用一些安全工具如pam_abl 來對ssh 進(jìn)行保護(hù)。 pam_abl將能在設(shè)定的時間內(nèi)對錯誤登陸的帳戶進(jìn)行進(jìn)行臨時封禁。當(dāng)然普通用戶也可以通過程序漏洞提升權(quán)限,比如緩沖區(qū)溢出。
以上就是Linux系統(tǒng)SU命令的幾點(diǎn)安全建議知識。