這篇文章主要介紹了Linux系統中基本的使用者管理方法,是Linux入門學習中的基礎知識,需要的朋友可以參考下
方法/步驟
使用者管理的配置檔案
使用者資訊檔案:/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/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這個賬號
#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
# usermod -G softadm jack
# gpasswd -a mary softadm
# chgrp softadm /software
# chmod g+w /software
# ls -ld /software
drwxrwxr-x 2 root softadm 512 Jul 14 06:17 /software
# grep softadm /etc/group
softadm::100:jack,mary
禁用和恢復使用者
禁用
# usermod -L username
# passwd -l username
恢復
# usermod -U username
# 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
# chmod 4550 /bin/su
# chgrp sugroup /bin/su
# ls -l /bin/su
-r-sr-x— 1 root sugroup 18360 Jan 15 2010 /bin/su
設定後,只有sugroup組中的使用者可以使用su切換為root
# useradd helen
# passwd helen
# 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
# cd john-1.7.6/run
# make
破解使用者ksharpdabu密碼
# grep ksharpdabu /etc/passwd > /test/ksharpdabu.passwd
# grep ksharpdabu /etc/shadow > /test/ksharpdabu.shadow
# /test/john-1.6.6/run/unshadow /test/ksharpdabu.passwd
/test/ksharpdabu.shadow > /test/ksharpdabu.john
# /test/john-1.6.6/run/john /test/ksharpdabu.john