1021作業

關于用戶和組相關配置文件的總結

/etc/passwd:用戶及相關屬性信息

在Linux /etc/passwd文件中每個用戶都有一個對應的記錄行,它記錄了這個用戶的一些基本屬性。系統管理員經常會接觸到這個文件的修改以完成對用戶的管理工作。這個文件對所有用戶都是可讀的。但是Linux /etc/passwd文件中都有些什么內容呢?

#cat/etc/passwd 
root:x:0:0:Superuser:/:
daemon:x:1:1:Systemdaemons:/etc:
bin:x:2:2:Ownerofsystemcommands:/bin:
sys:x:3:3:Ownerofsystemfiles:/usr/sys:
adm:x:4:4:Systemaccounting:/usr/adm:
uucp:x:5:5:UUCPadministrator:/usr/lib/uucp:
auth:x:7:21:Authenticationadministrator:/tcb/files/auth:
cron:x:9:16:Crondaemon:/usr/spool/cron:
listen:x:37:4:Networkdaemon:/usr/net/nls:
lp:x:71:18:Printeradministrator:/usr/spool/lp:
sam:x:200:50:Samsan:/usr/sam:/bin/sh`
/etc/passwd中一行記錄對應著一個用戶,每行記錄又被冒號(:)分隔為7個字段,其格式和具體含義如下:  
用戶名:口令:用戶標識號:組標識號:注釋性描述:主目錄:登錄Shell
“用戶名”,指的是代表用戶賬號的字符串。通常長度不超過8個字符,并且由大小寫字母和/或數字組成。登錄名中不能有冒號(:),因為冒號在這里是分隔符。為了兼容起見,登錄名中最好不要包含點字符(.),并且不使用連字符(-)和加號(+)打頭。

“口令”,在一些系統中,存放著加密后的用戶口令字。雖然這個字段存放的只是用戶口令的加密串,不是明文,但是由于/etc/passwd文件對所有用戶都可讀,所以這仍是一個安全隱患。因此,現在許多Linux系統(如SVR4)都使用了shadow技術,把真正的加密后的用戶口令字存放到/etc/shadow文件中,而在/etc/passwd文件的口令字段中只存放一個特殊的字符,例如“x”或者“*”。

“用戶標識號”是一個整數,系統內部用它來標識用戶。一般情況下它與用戶名是一一對應的。如果幾個用戶名對應的用戶標識號是一樣的,系統內部將把它們視為同一個用戶,但是它們可以有不同的口令、不同的主目錄以及不同的登錄Shell等。通常用戶標識號的取值范圍是0655350是超級用戶root的標識號,199由系統保留,作為管理賬號,普通用戶的標識號從100開始。在Linux系統中,這個界限是500。

“組標識號”,這個字段記錄的是用戶所屬的用戶組。它對應著/etc/group文件中的一條記錄。

“注釋性描述”,這個字段記錄著用戶的一些個人情況,例如用戶的真實姓名、電話、地址等,這個字段并沒有什么實際的用途。在不同的Linux系統中,這個字段的格式并沒有統一。在許多Linux系統中,這個字段存放的是一段任意的注釋性描述文字,用做finger命令的輸出。

“主目錄”,也就是用戶的起始工作目錄,它是用戶在登錄到系統之后所處的目錄。在大多數系統中,各用戶的主目錄都被組織在同一個特定的目錄下,而用戶主目錄的名稱就是該用戶的登錄名。各用戶對自己的主目錄有讀、寫、執行(搜索)權限,其他用戶對此目錄的訪問權限則根據具體情況設置。
“shell”,用戶登錄后,要啟動一個進程,負責將用戶的操作傳給內核,這個進程是用戶登錄到系統后運行的命令解釋器或某個特定的程序,即Shell。Shell是用戶與Linux系統之間的接口。系統管理員可以根據系統情況和用戶習慣為用戶指定某個Shell。如果不指定Shell,那么系統使用sh為默認的登錄Shell,即這個字段的值為/bin/sh。
用戶的登錄Shell也可以指定為某個特定的程序(此程序不是一個命令解釋器)。利用這一特點,我們可以限制用戶只能運行指定的應用程序,在該應用程序運行結束后,用戶就自動退出了系統。有些Linux系統要求只有那些在系統中登記了的程序才能出現在這個字段中。

系統中有一類用戶稱為偽用戶(psuedousers),這些用戶在Linux /etc/passwd文件中也占有一條記錄,但是不能登錄,因為它們的登錄Shell為空。它們的存在主要是方便系統管理,滿足相應的系統進程對文件屬主的要求。常見的偽用戶如下所示。
偽用戶含義
bin擁有可執行的用戶命令文件
sys擁有系統文件
adm擁有帳戶文件
uucpUUCP使用
lplp或lpd子系統使用
nobodyNFS使用
擁有帳戶文件
除了上面列出的偽用戶外,還有許多標準的偽用戶,例如:audit,cron,mail,usenet等,它們也都各自為相關的進程和文件所需要。
由于Linux /etc/passwd文件是所有用戶都可讀的,如果用戶的密碼太簡單或規律比較明顯的話,一臺普通的計算機就能夠很容易地將它破解,因此對安全性要求較高的Linux系統都把加密后的口令字分離出來,單獨存放在一個文件中,這個文件是/etc/shadow文件。只有超級用戶才擁有該文件讀權限,這就保證了用戶密碼的安全性。

/etc/shadow:用戶密碼及相關屬性信息

上面約略提到,由于每個程序都需要取得 uid 與 gid 來判斷權限的問題,所以, /etc/passwd 的權限必須要設定成為 -rw-r–r– 這樣的權限,在這樣的情況下, 使用者的密碼不就任何人都可以看到嗎?即使這個檔案內的密碼欄是加密的,顯然也是可里利用暴力破解法去找出您的密碼資料,因為這樣的關系,所以后來發展出將密碼移動到 /etc/shadow 這個檔案分隔開來的技術, 而且還加入很多的密碼限制參數在 /etc/shadow 里頭。

root:$6$UKD0lBRy$susjWodY/NuL6vC4DAPnxp9TAXJIMIk03vsYrhey/CfRzwTtYguUS8HHkrMQ1IIXyMa4AEF94ThqRX/nNEyZt0:17093:0:99999:7:::
bin:*:16659:0:99999:7:::
daemon:*:16659:0:99999:7:::
adm:*:16659:0:99999:7:::
lp:*:16659:0:99999:7:::
sync:*:16659:0:99999:7:::

基本上shadow文件同樣以‘:’作為分隔符號,如果數一數,會發現共有九個欄位啊, 這九個欄位的用途是這樣的:
帳號名稱:由于密碼也需要與帳號對應啊~因此, 這個檔案的第一欄就是帳號,必須要與 /etc/passwd 相同才行!

密碼:這個才是真正的密碼,而且是 經過編碼過的密碼。 需要特別留意的是, 雖然這些加密過的密碼很難被解出來,但是‘很難’不等于‘不會’,所以, 這個檔案的預設屬性是‘-rw-------’或者是‘-r--------’得隨時注意,不要不小心更動了這個檔案的屬性。另外, 如果是在密碼欄的第一個字元為‘ * ’或者是‘ ! ’,表示這個帳號并不會被用來登入的意思。

最近更動密碼的日期:這個欄位記錄了‘更動密碼的那一天’的日期, 因為計算 Linux 日期的時間是以 197011 日作為 1 ,而 197111 日則為 366  所以這個日期是累加的呢!

密碼不可被更動的天數: 第四個欄位記錄了這個帳號的密碼需要經過幾天才可以被變更!如果是 0 的話, 表示密碼隨時可以更動的意思。這的限制是為了怕密碼被某些人一改再改而設計的!如果設定為 20 天的話,那么當你設定了密碼之后, 20 天之內都無法改變這個密碼!

密碼需要重新變更的天數: 由于害怕密碼被某些人竊取而危害到整個系統的安全,所以有了這個欄位的設計。 你必須要在這個時間之內重新設定你的密碼,否則這個帳號將會暫時失效。 而如果像上面的 99999 的話,那就表示,密碼不需要重新輸入啦! 不過,如果是為了安全性,最好可以設定一段時間之后,嚴格要求使用者變更密碼呢!

密碼需要變更期限前的警告期限:當帳號的密碼失效期限快要到的時候, 就是上面那個‘必須變更密碼’的那個時間時, 系統會依據這個欄位的設定,發出‘警告’言論給這個帳號,提醒他‘再過 n 天你的密碼就要失效了,請盡快重新設定你的密碼呦!’,如上面的例子,則是密碼到期之前的 7 天之內,系統會警告該用戶。

密碼過期的恕限時間:如果用戶過了警告期限沒有重新輸入密碼, 使得密碼失效了,也就是說,你在‘必須變更密碼的期限前,并沒有變更你的密碼!’ 那么該組密碼就稱為‘失效的密碼’,當密碼失效后,你還可以用這個密碼在 n 天內進行登入的意思。 而如果在這個天數后還是沒有變更密碼,那么您的帳號就失效了!無法登入!

帳號失效日期:這個日期跟第三個欄位一樣,都是使用 1970 年以來的總日數設定。這個欄位表示: 這個帳號在此欄位規定的日期之后,將無法再使用。

/etc/group:組及相關屬性信息

將用戶分組是Linux系統中對用戶進行管理及控制訪問權限的一種手段。每個用戶都屬于某個用戶組;一個組中可以有多個用戶,一個用戶也可以屬于不同的組。當一個用戶同時是多個組中的成員時,在/etc/passwd文件中記錄的是用戶所屬的主組,也就是登錄時所屬的默認組,而其他組稱為附加組。

#cat/etc/group  
root:x:0:
bin:x:1:
daemon:x:2:
sys:x:3:
adm:x:4:
tty:x:5:
“組名”是用戶組的名稱,由字母或數字構成。與/etc/passwd中的登錄名一樣,組名不應重復。
“口令”字段存放的是用戶組加密后的口令字。一般Linux系統的用戶組都沒有口令,即這個字段一般為空,或者是*。
“組標識號”與用戶標識號類似,也是一個整數,被系統內部用來標識組。
“組內用戶列表”是屬于這個組的所有用戶的列表/b],不同用戶之間用逗號(,)分隔。這個用戶組可能是用戶的主組,也可能是附加組。本字段可以為空;如果字段為空表示用戶組為GID的用戶名;

/etc/gshadow:組密碼及相關屬性信息

/etc/gshadow是/etc/group的加密資訊文件,比如用戶組(Group)管理密碼就是存放在這個文件。對于大型服務器,針對很多用戶和組,定制一些關系結構比較復雜的權限模型,設置用戶組密碼是極有必要的。比如我們不想讓一些非用戶組成員永久擁有用戶組的權限和特性,這時我們可以通過密碼驗證的方式來讓某些用戶臨時擁有一些用戶組特性,這時就要用到用戶組密碼。

# cat /etc/gshadow
root:::
bin:::
daemon:::
sys:::
adm:::
tty:::
組名: 是用戶組的名稱,由字母或數字構成。  
口令:用戶組密碼,這個段可以是空的或!,如果是空的或有!,表示沒有密碼
組管理者:這個字段也可為空,如果有多個用戶組管理者,用,號分割
組內用戶列表:如果有多個成員,用,號分割 ;

其他文件

/etc/default/useradd 新增加用戶,各屬性的默認值配置文件 
/etc/skel/* 新創建用戶,家目錄文件的模版目錄 
/etc/login.defs 系統UID、GID范圍,密碼策略、加密算法等配置信息 
/etc/shells 當前系統支持的shell類型

原創文章,作者:Anhur,如若轉載,請注明出處:http://www.www58058.com/53976

(0)
AnhurAnhur
上一篇 2016-10-23
下一篇 2016-10-24

相關推薦

  • week4:grep命令正則表達式的應用

    1.復制/etc/skel目錄為/home/tuser1,要求/home/tuser1及其內部文件的屬組和其他用戶均沒有任何訪問權限;     ~]# cp -r /etc/skel/ /home/tuser1 |chmod -R g-rwx,o-rwx /home/tuser1 2.編輯/etc/group文件,添加組hadoop; &…

    Linux干貨 2016-11-23
  • linux三劍客之grep

    linux三劍客之grep        所謂三劍客的工具有“grep”、“sed” 、“awk”,他們都是不謀而合的文本搜索查找處理的強大工具。grep 是 Ken Thompson 寫的,他也是 Unix 的創造者。 gerp及正則表達式    grep全稱(GLobal search Regu…

    Linux干貨 2016-08-08
  • 獲取linux命令幫助的方法

    1.help command 適用于內建命令。 2.command -hlep 適用于外部命令。 3.info command 適用于外部命令。 4.man command 適用外部命令和內建命令。     man幫助命令分章節             centos7:man 1…

    Linux干貨 2017-08-19
  • 采用二進制包安裝mysql

    本文是在CentOS7系統平臺下安裝Mysql5.6.26版本數據庫的操作說明,如有錯誤,請指正。 系統平臺:CentOS-7-x86_64    數據庫版本:mysql-5.6.26   Mysql鏡像文件下載地址:http://dev.mysql.com/downloads/mirrors.html 本次演示的Mysql安裝…

    Linux干貨 2017-05-04
  • Linux進程管理常用命令(一)

    Linux系統上的進程查看及管理工具:     pstree, ps, pidof, pgrep, top, htop, glances, pmap, vmstat, dstat,kill,job,bg,fg, nohup, nice, renice, killall,…     Centos 5: Sys…

    Linux干貨 2017-01-05
  • 文本處理工具初探

    作為一個系統管理員,文本處理功能是經常使用的,熟練地使用各種文本工具有助于提高工作效率,從繁忙的工作中早點解脫。下面就來介紹處理文本的常用命令。 處理文本的命令大致分為:        查看文件內容:cat、less、more       …

    Linux干貨 2016-08-07
欧美性久久久久