用户、组以及相关文件说明
用戶分類:
管理員:root用戶,UID為0
系統用戶:UID范圍1-499
一般用戶:UID范圍:500-60000
組分類:
基本組或私有組:創建用戶時,如果沒有為其指定所屬的組,則系統默認會創建一個與用戶名同名的組。
附屬組:默認組以外的其他組。
當一個用戶執行程序的時候,系統會判斷當前用戶有沒有權限執行這個程序,如果沒有權限執行,則啟動不了該程序。如果有權限執行,則執行后該程序會產生一個或多個進程,該進程的權限就是執行該程序的用戶的權限,因此進程的屬主和屬組就是該用戶的屬主和屬組。當該進程訪問一個對象的時候,會判斷該進程的屬主與屬組是否與要訪問的對象的屬主和屬組一樣,如果屬主一樣,則具有要訪問對象的屬主的權限,如果屬組相同,則具有要訪問對象的屬組的權限,如果都相同,則同時具有該權限,如果都不相同,則具有Others的權限。
示例:
程序:/bin/ls
程序的權限:-rwxr-xr-x 1 root root 117024 Apr 17 ?2012 /bin/ls
用戶:tom?
組:tom
對象:drw-r--r-- 1 root root ? ? ?0 Jun 30 21:59 a123
當用戶tom想執行/bin/ls這個程序時,系統會判斷tom是否有權限執行/bin/ls,而ls這個程序的屬主和屬組都是root,而tom用戶的屬主和屬組都是tom,因此當tom執行ls時,就會具有others的權限,而ls這個程序的others的權限是rx,因此tom可以執行ls,執行后會產生一個進程,該ls進程的屬主和屬組就是tom,當tom使用ls訪問對象a123時,要和對象的屬組和屬主進行比較,因此對于a123來說,只能查看ls列出a123目錄里面的文件,不能使用ls -l列出該目錄下的文件或目錄的詳細信息。
1. /etc/passwd文件格式說明:
格式:
account:password:UID:GID:GECOS:directory:shell各個字段的說明:
account:用戶的名稱。
password:用戶的加密密碼,可以是*或x。如果是x,則是一個占位符,真正的密碼位于/etc/shadow這個影子文件中。
UID:用戶的UID
GID:用戶的基本組的GID。附屬組的信息存放在/etc/group里面。
GECOS:用戶的注釋信息,如用戶的全名,用戶的家庭住址等等。
directory:用戶的家目錄。
shell:用戶在登錄系統的時候所運行的shell。如果為空,則為/bin/sh即/bin/bash。如果設置為不存在的shell,則用戶無法通過login登錄系統。當設置為/sbin/nologin時,用戶也無法登錄系統,因此系統用戶的默認shell都是/sbin/nologin。
查看系統中的合法shell:
cat /etc/shells或者是chsh -l
示例:
2. /etc/shadow文件說明
shadow文件存放是系統中的賬戶的密碼信息以及賬戶的老化信息。該文件采用冒號(:)作為分隔符,分為9個字段,格式如下:
login?name:encrypted?password:date?of?last?password?change:minimum?password?age:maximum?password?age:password?warning?period:password?inactivity?period:account?expiration?date:reserved?field示例:
[root@Server3?tmp]#?grep?'frame'?/etc/shadow frame:$6$raWrlosK$jwlpWIiYAfMLOreKEXsMwvbwieNsG.vGl72KYf.stzQCQwMDayhtCTl/B.Apjn/UlyLBTZcbvmjNOL1vhqMTd0:16247:0:99999:7::: [root@Server3?tmp]#login name:登錄名,存在于系統中的有效的用戶名。在上述示例中,登錄名為frame。
encrypted password:在加密密碼里面,分為如下的幾個部分,
該部分的格式如下:
$id$salt$encrypted??????????????ID??|?Method---------------------------------------------------------1???|?MD52a??|?Blowfish?(not?in?mainline?glibc;?added?in?some|?Linux?distributions)5???|?SHA-256?(since?glibc?2.7)6???|?SHA-512?(since?glibc?2.7)encrypted的長度:MD5?????|?22?charactersSHA-256?|?43?charactersSHA-512?|?86?characters第一部分:表示的是采用的加密方式。如果$后是1,則表示的是使用MD5方式加密的,如果是2,則表示
的是使用的Blowfish加密算法,如果是5,則表示的使用的SHA256加密算法,如果是6,則使用的是
SHA512加密算法
加密方法:對稱加密和非對稱加密。
????對稱加密:加密和解密使用相同的密碼。
????非對稱加密:也稱為公鑰加密。在非對稱加密中,每個密碼都是成對出現的,一個為私鑰(private key或者是secret key),一個為公鑰(public key),公鑰加密,私鑰解密。
????單向加密:也成為散列加密??梢杂蓴祿〉妹芪?#xff0c;反之不能以密文取得數據。提取數據特征碼,每一個數據的特征碼都是唯一的,可以用于數據校驗,校驗數據是否遭到破壞。計算一個文件的特征碼,可以用md5sum。
示例:
[root@Server3?tmp]#?md5sum?issue? bbee69205bff2d11233b02a8f80ba4fd??issue [root@Server3?tmp]#?echo?a?>>?issue? [root@Server3?tmp]#?md5sum?issue? f80ac7948edb06fa27b1a0ddbe09d3af??issue [root@Server3?tmp]#? 說明:當往issue文件中增加一個字符a時,重新計算其特征碼時,所產生的結果差別很大,這個也就是單向加密的一個特征,稱為雪崩效應。初始結果的微小改變可以引起結果的巨大差異。常用的單向加密算法有:MD5和SHA1。
MD5(Message Digest)為128位的定長輸出。
SHA1(Secure Hash Algorithm)為160位的定長輸出。
SHA256和SHA512:則表示為256和512位的加密算法。
第二部分:稱為salt,為8字節的字符串,為隨機生成的。在計算密碼的時候,是把這部分也加進去計算的。如果salt和密碼都一樣,則加密出來的結果才一樣,如果僅僅是密碼一樣,而salt不一樣,則加密出來的結果也不一樣。
當用戶登錄系統的時候,先將salt加進去,然后使用相同的算法,對用戶輸入的密碼進行加密,然后和第三部分進行比較,判斷是否相同,相同則密碼一樣,否則不一樣。
第三部分:就是用戶的密碼。
在encrypted password中,如果是*,則表示該用戶不允許登錄,如果是!則表示該用戶沒有密碼,NP也表示沒有密碼,即No Password,如果不想讓一個用戶登錄系統,可以在該字段的前面加上!!即可,!!表示的是該用戶被鎖定,LK也可以表示賬戶被鎖定(LocK)
date of last password change:上一次密碼修改的時間距離1970年1月1日的天數。如果該字段為空,則表示關閉密碼老化的特性。如果為0,則表示用戶下一次登錄系統時,必須要修改密碼。
minimum password age:兩次修改密碼的最小時間間隔,密碼最短使用期限。如果是0或空,則意味著可以隨時修改密碼。
maximum password age:密碼最長使用期限。意味著該時間到期后,用戶必須要修改自己的密碼。用戶下次登錄的時候,會詢問用戶是否要修改密碼。
password warning period:提前多少天警告用戶口令將過期。如果為0,則密碼即將過期時,不會提示用戶修改密碼。
password inactivity period:密碼過期后多少天,用戶依然可以使用該密碼登錄,但是登錄后系統會強制用戶修改密碼。如果該時間到期后用戶沒有修改密碼,則該密碼將失效。
account expiration date:賬戶過期時間,也是距離1970年1月1日起的天數。賬戶過期和密碼過期是不一樣的,賬戶過期意味著用戶不能使用該賬戶登錄,密碼過期則意味著用戶不能使用該密碼登錄。如果是空,則意味著該賬戶永遠不會過期.
reserved field:保留供將來使用。
3. /etc/group
格式:
group_name:passwd:GID:user_listgroup_name:組名
passwd:組密碼
GID:組的GID
user_list:用戶列表,用逗號隔開。
示例:
daemon:x:2:bin,daemon4. /etc/gshadow
格式:
group name:組名
encrypted passwd:加密后的組密碼
administrators:組管理員
members:組成員列表,多個組成員之間用逗號分隔。
示例:
mail:::mail,postfix轉載于:https://blog.51cto.com/hezhang/1433335
總結
以上是生活随笔為你收集整理的用户、组以及相关文件说明的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: linux查看系统负载常用指标与命令
- 下一篇: win8.1 USB启动盘制作(不支持U