一、批量添加用戶
1、按照/etc/passwd文件格式編寫用戶信息文件users.info
如:xiao01::2001:888::/home/xiao01:/bin/bash
【注意不能有空行,不然會報錯】
2、newusers < users.info //newusers命令 導入用戶信息文件
3、pwunconv //取消shadow password功能
4、以[用戶名:密碼]的格式編寫密碼文件passwd.info
5、chpasswd < passwd.info //導入密碼文件
6、pwconv //將密碼寫入shadow文件
【用腳本編程的方式其實更加高效】
二、限制普通用戶su為root
1、groupadd sugroup
2、chmod 4550 /bin/su //將其他人的權限全部清除
3、chgrp sugroup /bin/su //將su的所屬組改變為sugroup
此時:ls -l /bin/su
得到:-r-sr-x--- 1 root sugroup 18360 Jan 15 2010 /bin/su
4、usermod -G sugroup test //將用戶test加入到sugroup組
三、用sudo代替su:
-在執行sudo命令時,臨時成為root
-不會洩漏root口令
-僅向用戶提供有限的命令使用權限
重要內容:
配置文件:/etc/sudoers,編輯配置文件命令visudo, 普通用戶使用命令sudo。
【用vi直接修改配置文件/etc/sudoers不會生效】
/etc/sudoers文件格式【用visudo打開】
用戶名/%組名 主機地址=命令【要用絕對路徑】
【案例:授權普通用戶可以添加/刪除用戶useradd/userdel】
1、visudo
2、xiaofang 192.168.139.1=/usr/sbin/useradd,/usr/sbin/userdel
【或者將上面ip改成xiaofang】
3、sudo /usr/sbin/useradd test // 執行useradd命令【加sudo,加絕對路徑】
4、輸入密碼
【是xiaofang的密碼,而不是root的密碼,這樣我們就保護了root密碼不被洩露】
【sudo -l 可用於查看當前用戶所被授權的只有root才可執行的命令】
附加說明:
1、sudo可以使普通用戶以root身份執行命令,而不是只是執行root才能執行的命令
2、編輯/etc/sudoers時,可以使命令精確化
如:xiaofang xiaofang=/sbin/shutdown 0 -h
只讓xiaofang用戶執行0 -h選項,其他任何選項都不能執行
【案例:授權一個普通用戶全權管理Apache Server】
1、構思好該用戶應有的權限:
(1)編輯Apache的配置文件
(2)使用Apache的啟動腳本
(3)更新網頁等
2、實現功能1
法一、改變該文件的所有者為該用戶,chown
法二、改變該文件的所屬組,並將w權限授予該組,然後該用戶加入該組【比較常用】
法三、visudo法
添加:用戶 地址=/bin/vi /etc/httpd/conf/httpd.conf
3、實現功能2
【用visudo】用戶 主機名=/etc/rc.d/init.d/http start,/etc/rc.d/init.d/http reload,/etc/rc.d/init.d/http fullstatus,/etc/rc.d/init.d/http configtest
4、功能實現3,即需要對/var/www/html目錄有寫權限
改變該目錄的所有者/所屬組
四、檢測用戶密碼強度(破解用戶密碼)
1、安裝破解工具:John the ripper
下載地址 http://www.openwall.com/john/
2、grep liming /etc/passwd > /test/liming.passwd //提取用戶信息
3、grep liming /etc/shadow > /test/liming.shadow //提取用戶密碼的加密密文
4、/test/john-1.6.6/run/unshadow /test/liming.passwd /test/liming.shadow > /test/liming.john //合並成一個文件
5、/test/john-1.6.6/run/john /test/liming.john //破解該用戶密碼
6、/test/john-1.6.6/run/john /etc/shadow //*破解所有用戶的密碼