Linux安全系統的核心是用戶賬戶。
訪問Linux系統的每個人都擁有已分配的、唯一的用戶賬戶。
可以使用用戶ID(稱爲UID)來跟蹤用戶權限,賬戶將在創建時被分配UID,UID是針對每個用戶的唯一數值。
Linux系統使用特定的文件和實用工具(id 用戶名
)來跟蹤和管理系統上的用戶賬戶。
1、/etc/passwd文件,用戶賬戶信息文件
Linux系統使用一個特殊文件將登錄名與相應的UID值匹配,這就是/etc/passwd文件。
詳見: https://blog.csdn.net/yaoyelinger0912/article/details/98792459
可以看到/etc/passwd文件中,所有的密碼都是x表示,這實際是Linux系統將用戶密碼保存在一個單獨的文件中(稱爲 影子文件位於/etc/shadow),只有一些特殊程序,如登錄程序才允許訪問該文件。
2、/etc/shadow文件,用戶密碼文件
/etc/shadow文件只有根用戶才能訪問/etc/shadow文件。
對於系統上的每個用戶賬戶,/etc/shadow文件都包含一個相應的記錄,例如:
[root@hadoop ~]# cat /etc/shadow
root:$6$pSNMKPqW0z8yx8D8$swh.jJykZWQ3k2JDVHcPS5KE62xTcm/Y6ARZzjhPfzDwBlNPaCKuyn/iWSnXiyImE.yRboYzb4mOthMPYOKyd0::0:99999:7:::
mysql:!!:18062::::::
每個/etc/shadow文件都有9個字段:
- 與/etc/passwd文件中的登錄名相對應的登錄名
- 經過加密的密碼
- 密碼上次修改距1970年1月1日的天數
- 距能夠修改密碼時的最少天數
- 距必須修改密碼時的最少天數
- 距密碼逾期並警告用戶修改密碼的天數
- 從密碼逾期開始到賬戶被禁用的天數
- 用戶賬戶已被禁用的天數(存儲爲自1970年1月1日開始的天數)
- 保留供未來使用的字段
->>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
Linux安全系統的另一個概念是用戶組。
用戶組權限允許多個用戶共享系統上某個對象的公共權限集,例如文件、目錄或設備,採用多個用戶共享一個附加組。
每個用戶組都有一個唯一的GID,與UID類似,GID是系統上獨一無二的數值。
每個用戶組還有一個唯一的用戶組名稱。
3、/etc/group文件,用戶組文件
與用戶賬戶相同,用戶組信息存儲在系統上的某個文件中。/etc/group文件包含關於系統所使用的各用戶組的信息。
[root@hadoop ~]# cat /etc/group
root:x:0:
mysql:x:27:
dafu2:x:1100:
dafu3:x:1101:dafu2
dafu4:x:1102:
dafu5:x:1103:
與UID類型,GID的分割使用特殊格式。/etc/group使用4個字段:
- 用戶組名稱
- 用戶組密碼,密碼存於其他文件中,這裏爲佔位符,同於/etc/passwd
- GID
- 屬於用戶組的用戶賬戶列表(可以使用usermod命令將用戶添加到用戶組中,在添加之前,用戶組必須事先存在,可以理解爲附加組爲該用戶組的用戶列表)
注意:如上的 dafu2:x:1100:
dafu2用戶組沒有任何用戶,這不是因爲dafu2用戶組沒有任何用戶賬戶。當用戶使用某個用戶組作爲/etc/passwd 文件裏的默認用戶組,用戶賬戶不會作爲成員出現在/etc/group中 ,見:
[root@hadoop ~]# cat /etc/passwd | grep dafu2
dafu2:x:1100:1100::/home/dafu2:/bin/bash
關於用戶和用戶組如何控制權限詳見:https://blog.csdn.net/yaoyelinger0912/article/details/100087783