Linux基礎命令五:賬號與使用者組
阿新 • • 發佈:2018-12-20
1.UID與GID
UID與GID 的意義
UID:使用者ID。在/etc/passwd中定義
GID:使用者組ID。在/etc/group中定義
不要隨意修改UID與GID對應檔案中的內容,即/etc/passwd和/etc/group
1.建立一個新使用者
[[email protected] ~]# useradd xixi
[[email protected] ~]# ll -d /home/xixi
drwx------ 2 xixi xixi 4096 Nov 10 18:46 /home/xixi
[[email protected] ~]# id xixi
uid=500(xixi) gid=500(xixi) groups=500(xixi)
2.將xixi的UID修改為200看會發生什麼
[ [email protected] ~]# vim /etc/passwd
按i進入編輯模式,將下面這行修改
xixi:x:200:500::/home/xixi:/bin/bash #將這一行的第一個500改為200
修改完成後,按esc退出編輯模式,輸入:wq儲存退出
[[email protected] ~]# ll -d /home/xixi
drwx------ 2 500 xixi 4096 Nov 10 18:46 /home/xixi
##此時,所屬使用者變成了500。是由於我們修改UID,導致500找不到對應賬戶,所以顯示數字
3.將UID改回500,否則有些程式將無法執行
[[email protected] ~]# vim /etc/passwd
xixi:x:500:500::/home/xixi:/bin/bash
[[email protected] ~]# ll -d /home/xixi
drwx------ 2 xixi xixi 4096 Nov 10 18:46 /home/xixi
Linux對UID的限制
ID範圍 | 該ID使用者特性 |
---|---|
0(系統管理員) | 系統管理員。若想要其他使用者具有root的許可權,將這個賬號的UID改為0就可以了 |
1~499(系統賬號) | 留給系統使用的ID。除了0以外的其他數字許可權上並沒有什麼不同,留前500只是習慣。系統賬號又分為兩種:1~99由distributions自行建立的;100 ~ 499若是使用者有系統賬號需求時,可以使用的 |
500~65535(可登入賬號) | 給一般使用者使用,目前Linux核心(2.6.x)已經支援到2^32-1了 |
2./etc/passwd的檔案結構
- 每一行代表一個賬號,有幾行則就有幾個賬戶。不要隨意刪除這些系統自帶的賬戶,因為裡面有很多賬號是系統正常執行必須要的。例如:bin,daemon,bin,nobody等
- 檢視一下這個檔案的內容
[[email protected] ~]# head -n 3 /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
- 關於這一行每個欄位的意義 root:x :0:0:root:/root:/bin/bash
root: 賬號。用來對應UID,如:root對應的UID為0。
x: 密碼。這個檔案是所有程式都能讀取,為安全起見,將這個欄位的密碼資料放在了/etc/shadow中了,此處顯示x
0: UID。使用者ID,與/etc/passwd有關
0: GID。使用者組ID,與/etc/group有關。這個檔案結構與/etc/passwd差不多
root: 使用者資訊說明列,沒有什麼重要用途,用來解釋賬號的意義。在提供finger功能時,這個欄位可以提供資訊
/root: 這個使用者的主資料夾。其他使用者的家目錄預設為/home/使用者名稱
/bin/bash:shell指令碼
: 為分隔符
3. /etc/shadow的檔案結構
/etc/shadow的許可權設定。僅root可讀取,不要改動這個檔案的許可權
-rw------或-r-------
/etc/passwd的許可權設定
-rw-r--r-
檢視一下檔案的內容
[[email protected] ~]# head -n 3 /etc/shadow
root:$6$xz2hEpYX$hhta4lNdy6yPo5E8c/NIiNhlBv8zmP10YyibZXSQcau1JVV7z5HKjZvC//oREcYimNewA/1eWFIUN2q2BS4221:17842:0:99999:7:::
bin:*:15980:0:99999:7:::
daemon:*:15980:0:99999:7:::
關於bin:*:15980:0:99999:7:::每一個欄位的意義
bin: 賬號。必須與/etc/passwd相同
*: 密碼。這個欄位內的資料才是真正的密碼,而且經過編碼加密。
15980: 最近改變密碼的日期。Linux計算日期是以1970年1月1日進行累加的,1971年1月1日為366
若想知道某天的累積日期,可使用這個命令進行計算:ehco $ (($(date --date="2018/11/12" +%s)/86400+1
0: 密碼不可被更改的天數。為0表示隨時可以更改,若為3,則三天不能更改密碼
999999: 密碼需要重新更改的天數。為999999(273年)代表沒有更改的強制要求
7: 密碼需要更改期限前的警告天數
第七個欄位:密碼過期後的賬號寬限時間(密碼失效)
第八個欄位:賬號失效日期,在 規定時間後,將無法再使用該賬號
第九個欄位:保留