用戶管理的配置文件
用戶信息文件:/etc/passwd
密碼文件:/etc/shadow
用戶組文件:/etc/group
用戶組密碼文件:/etc/gshadow
用戶配置文件:
/etc/login.defs
/etc/default/useradd
新用戶信息文件:/etc/ske1
登陸信息:/etc/motd /etc/issue
/etc/passwd文件格式
用戶類型
Linux用戶分為三種:
超級用戶(root UID=0)
普通用戶(UID 500-60000)
偽用戶(UID 1-499)
注意:root不一定是超級用戶,但是UID=0的用戶一定是超級用戶。
偽用戶
偽用戶與系統和程序服務相關
bin daemon shutdown halt等,任何linux系統默認都有這些偽用戶
mail news games apache ftp mysql及sshd等,與linux系統的進程相關
偽用戶通常不需要或無法登陸系統
可以沒有宿主目錄
用戶組
每個用戶都至少屬於一個用戶組
每個用戶組可以包括多個用戶
同一個用戶組的用戶享有該組共有的權限
/etc/shadow文件格式
/etc/group文件格式
手工添加用戶
分別在/etc/passwd 、/etc/group 和/etc/shadow文件中添加一筆記錄
創建用戶宿主目錄
在用戶宿主目錄中設置默認的配置文件
設置用戶初始密碼
SetUID
思考:為什麼普通用戶可以更改密碼?
SetUID的定義:當一個可執行程序具有SetUID權限,用戶執行這個程序時,將以這個程序所有者的身份執行。
范例:1.將touch命令授予SetUID權限
2.當vi命令呗授予SetUID權限
3.查找SetUID程序:
復制代碼代碼如下: Find / -perm -4000 –o –perm -2000
添加用戶
useradd設置選項 用戶名 -D 查看缺省參數
u:UID
g:缺省所屬用戶組GID
G:指定用戶所屬多個組
d:宿主目錄
s:命令解釋器shell
c:描述信息
e:指定用戶失效時間
復制代碼代碼如下: #useradd ksharpdabu //添加ksharpdabu這個賬號</p>
<p>#passwd ksharpdabu /修改ksharpdabu的密碼
或者熟悉系統文件的,可以直接手動添加用戶
用戶組管理命令
添加用戶組groupadd
復制代碼代碼如下: groupadd -g 888 webadmin
創建用戶組webadmin ,其GID為 888
刪除用戶組:groupdel 組名
復制代碼代碼如下: #groupdel webuser //刪除webuser這個組
修改用戶組星系 :groupmod
復制代碼代碼如下: #groupmod -n apache webadmin
修改webadmin組名為apache
用戶組管理命令
Gpasswd設置組密碼及管理組內成員
-a添加用戶到用戶組
-d 從用戶組中刪除用戶
-A設置用戶組管理員
-r刪除用戶組密碼
-R禁止用戶切換為該組
修改用戶信息
usermod
復制代碼代碼如下: #usermod -G softgroup ksharpdabu
將用戶ksharpdabu添加到softgroup用戶組中
復制代碼代碼如下: #usermod -l ksharpdabu -d /home/samlee –g webadmin Tom
將用戶Tom的登陸用戶名改為ksharpdabu,加入wenadmin組中,用戶目錄改為/home/ ksharpdabu
用戶管理命令
pwk 檢測/etc/passwd文件(鎖定文件)
vipw 編輯/etc/passwd文件
id 查看用戶id和組信息
finger 查看用戶詳細信息
su 切換用戶(su –環境變量切換)
passwd –S 查看用戶密碼狀態
who、w 查看當前登錄用戶信息
用戶組管理命令
groups 查看用戶隸屬於哪些用戶組
newgrp 切換用戶組
grpck 用戶組配置文件檢測
chgrp 修改文件所屬組
vigr 編輯/etc/group文件(鎖定文件
用戶組授權實例
授權用戶jack和mary對目錄/software有寫權限
復制代碼代碼如下: # groupadd softadm</p>
<p># usermod -G softadm jack</p>
<p># gpasswd -a mary softadm</p>
<p># chgrp softadm /software</p>
<p># chmod g+w /software
復制代碼代碼如下: # ls -ld /software</p>
<p>drwxrwxr-x 2 root softadm 512 Jul 14 06:17 /software</p>
<p># grep softadm /etc/group</p>
<p>softadm::100:jack,mary
禁用和恢復用戶
禁用
復制代碼代碼如下: # usermod -L username</p>
<p># passwd -l username
恢復
復制代碼代碼如下: # usermod -U username</p>
<p># passwd -u username
刪除用戶
userdel –r 用戶名
-r:刪除用戶目錄
手工刪除:
使用find命令查找屬於某個用戶或者用戶組的文件
Find選項-user、-uid、-group、-gid
對需要保留的文件進行移動和備份
對不需要的文件進行刪除
清除用戶文件中的相關表項
清除用戶宿主目錄
用戶管理命令
change設定密碼
-l 查看用戶密碼設置
-m 密碼修改最小天數
-M 密碼修改最大天數
-d 密碼最後修改的日期
-l 密碼過期後,鎖定賬戶的天數
-E 設置密碼的過期日期,如果為0,代表密碼立即過期;如果為-1,代表密碼永不過期
-W 設置密碼過期前,開始警告的天數
啟動或停用shadow功能
pwconv/pwunconv
grpconv/grpunconv
system-config-users
authconfig /etc/sysconfig/authconfig
批量添加用戶
newusers命令 導入用戶信息文件
pwunconv命令 取消shadow password功能
chpasswd命令 導入密碼文件(密碼文件格式: 用戶名:密碼)
pwconv命令 將密碼寫入shadow文件
實例:一次批量添加10個用戶
限制用戶su為root:
復制代碼代碼如下: # groupadd sugroup</p>
<p># chmod 4550 /bin/su</p>
<p># chgrp sugroup /bin/su</p>
<p># ls -l /bin/su</p>
<p>-r-sr-x— 1 root sugroup 18360 Jan 15 2010 /bin/su
設定後,只有sugroup組中的用戶可以使用su切換為root
復制代碼代碼如下: # useradd helen</p>
<p># passwd helen</p>
<p># usermod -G sugroup helen //為helen增加su的權限
用sudo替代su:
在執行sudo命令時,臨時成為root
不會洩露root口令
僅向用戶提供有限的命令使用權限
配置文件:/etc/sudoers,編輯配置文件命令visudo
普通用戶使用命令sudo。
格式:用戶名(組名) 主機地址=命令(絕對路徑)
系統弱密碼測試工具John the ripper的使用方法;
復制代碼代碼如下: # tar -xzvf john-1.7.6.tar.gz</p>
<p># cd john-1.7.6/run</p>
<p># make
破解用戶ksharpdabu密碼
復制代碼代碼如下: # grep ksharpdabu /etc/passwd > /test/ksharpdabu.passwd</p>
<p># grep ksharpdabu /etc/shadow > /test/ksharpdabu.shadow</p>
<p># /test/john-1.6.6/run/unshadow /test/ksharpdabu.passwd</p>
<p>/test/ksharpdabu.shadow > /test/ksharpdabu.john</p>
<p># /test/john-1.6.6/run/john /test/ksharpdabu.john