使用者資訊檔案: /etc/password
密碼檔案: /etc/shadow
使用者群組檔案: /etc/group
使用者群組密碼檔案:/etc/gshadow
vim /etc/password
fubh:x:1020:1000::/home/fubh :/bin/bash
man 5 password #查看設定檔幫助
(密碼檔案)裡每行一筆記錄,並且每行都有這樣的格式:
account :password:UID:GID:GECOS:directory:shell
(帳號:密碼:使用者ID:群組ID:一般的資訊:宿主目錄:shell)
欄位描述如下:
# account 使用者在系統中的名字,且它無法包含大寫字母.
UID 使用者 ID 數。
GID 使用者的主要群組 ID 數。
GECOS 此欄位是可選擇的,且通常是為了儲存資訊目的而設的。通常,它包含了使用者的全名.
directory 使用者的$HOME 目錄.
為不存在的執行(程式),使用者無法透過login(1) 登入.)
1.1.1 使用者分類
UID=0的 是超級使用者
UID=500~ 60000 為一般使用者
UID=1~499 是偽使用者(與系統和程式服務相關)
root:# 21312sd$44:wd323%cds:14945:0:99999:7:::
使用者名稱:加密密碼:最後一次修改時間:最小時間間隔:最大時間間隔:警告時間:帳號閒置時間:失效時間:
vim /etc/group
sudo:x:27:web,yanghuang,zhoumin,duyp,taofh,luanqq
group_name:password:GID:user_list
(群組名稱:群組密碼:群組ID:群組成員)
新增一個使用者:useradd [-ugGdsce] 使用者名稱
useradd -g webadmin -G root,web -c 'test suer' bob
-u UID
-g 缺省所屬使用者群組GID
-G 指定使用者屬於多個群組
-d 宿主目錄
-s 指令解析器Shell
-c 描述資訊
-e 指定使用者失效時間
設定密碼:passwd 使用者名稱
修改使用者資訊:
修改使用者名稱: usermod -l 新使用者名稱為舊使用者名稱
刪除一個使用者:userdel [-r] 使用者名稱(-r 刪除使用者的宿主目錄)
為群組設定密碼: gpasswd 群組名稱
gpasswd [-adArR] 使用者名稱群組名稱
- a 將一個使用者加入某個群組
-d 將使用者從群組中刪除
-A 設定使用者群組管理員
-r 刪除使用者群組密碼
-R 禁止使用者切換為改組
例如:
gpasswd webadmin
gpasswd -a bob_fu webadmin
gpasswd -A bob_fu webadmin
gpasswd -r webadmin
#鎖定一個使用者:passwd -l jack / usermod -L jack
解鎖一個使用者:passwd -uf jack / usermod -U jack
切換所屬群組:newgrp webadmin
查看所屬群組:groups lisi
#新增群組: groupadd [-g GID] 群組名稱(檢視: grep webadmin /etc/group)
刪除群組:groupdel webadmin
群組改名:groupmod -n 新名稱舊名稱
pwck 偵測/etc/passwd檔案(鎖定檔案)
vipw 編輯/etc/passwd檔案檢視(鎖定檔案)
id 檢視使用者id和群組資訊
finger 查看使用者詳細資料
su 切換使用者(su - 使用者名稱)
passwd -S 查看使用者密碼狀態
who、w 查看目前燈虎使用者資訊
grpck 使用者群組設定檔偵測
vigr 編輯/etc/group檔案(鎖定檔案)
chage [-lmM] 設定密碼(LINUX下可用)
-l 查看使用者密碼設定chage -l jack
的最小天數
-M 密碼修改的最大天數
-d 密碼最後修改的日期
-I 密碼過期後,若定帳號的,表示密碼立即過期,若為-1則永不過期
-W 設定密碼過期前,開始警告天數
mkdir /software
#新增兩個使用者:
useradd jack
useradd mary
設定密碼:
password jack
password mary
新增一個群組
groupadd softadm
將使用者新增至群組
usermod -G softadm jack
gpasswd -a mary softadm
檢視群組成員:
grep softadm /etc/group
將目錄有root群組授權為softadm群組
chgrp softadm ./software
#給群組新增目錄寫入權限
chmod g+w ./software
例如user.info 內容如下
test01::10001:503::/home/test01:/bin/bash
test02::10002:503:: /home/test02:/bin/bash
test03::10003:503::/home/test03:/bin/bash
test04::10004:503::/home/test04:/bin/bash
test05::10005:503::/home/test05:/bin/bash
test06::10006:503::/home/test06:/bin/bash
newusers c368d0ec7181bfd9590ccef7e6388b7f pwunconv 指令取消shadow password 功能
pwunconv
##5bdf4c78156c7953567bb5a0aef2fc53 chpasswd指令匯入密碼
例如pass.info 內容如下
test01:admin+01
test02:admin+02
test03:admin+03
test04:admin+04
test05:admin+05
test06:admin+06
chpasswd 7f41cc117e41685fb49049a1afac5ce5 pwconv 指令將密碼寫入shadow檔案
pwconv
##優化方案:寫腳本
#!/bin/bash #add-some-users.sh #The script is add some users to a new group. echo "Welcome to the add some users!" echo -n "Please input the new group(example : mygroup) : " read my_new_group groupadd $my_new_group echo -n "Add the $my_new_group group is successful!" echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" echo "Then add some users to the $my_new_group group!" echo -n "Please input the username(example: student) : " read new_user echo -n "Please input the username(begin_id)(example: 1 ) : " read begin_id echo -n "Please input the username(end_id)(example: 10 ) : " read end_id echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&" for ((i=$begin_id;i<=$end_id;i++)) do #add the new_user to the my_new_group,and no add new_user's group useradd -n -g $my_new_group $new_user$i #delete the new_user password passwd -d $new_user$i chage -d 0 $new_user$i // done echo "&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&"
chgrp sugroup /bin.su
ls -l /bin/ su設定後,只有sugroup群組總的使用者可以使用su切換root
sueradd bob
passwd bob
usermod -G sugroup bob
5.3 用sudo 取代su
visudo
格式:使用者名稱(群組名稱)主機位址(主機名)=指令(絕對路徑)
例如:
使用者授權:bob 192.186.9.3=/usr/sbin/useradd,/usr/sbin/userdel
群組授權: %webadmin host1=/ bin/vim /etc/httpd/conf/httpd.conf
以上是Linux系統中的使用者管理的詳細內容。更多資訊請關注PHP中文網其他相關文章!