linux系統用戶以及用戶組管理

大家知道linux系統用戶以及用戶組怎麼管理的嗎?下面就跟隨小編一起去看看吧!我相信,這些也肯定是很多朋友在關心的,所以我就給大家談談這個!

linux系統用戶以及用戶組管理

這兩個文件可以說是linux系統中最重要的文件之一。如果沒有這兩個文件或者這兩個文件出問題,則你是無法正常登錄linux系統的。

 /etc/passwd由’:’分割成7個字段,每個字段的具體含義是:

1)用戶名(如第一行中的root就是用戶名),代表用戶賬號的字符串。用戶名字符可以是大小寫字母、數字、減號(不能出現在首位)、點以及下劃線,其他字符不合法。雖然用戶名中可以出現點,但不建議使用,尤其是首位爲點時,另外減號也不建議使用,因爲容易造成混淆。

2)存放的就是該賬號的口令,爲什麼是’x’呢?早期的unix系統口令確實是存放在這裏,但基於安全因素,後來就將其存放到/etc/shadow中了,在這裏只用一個’x’代替。

3)這個數字代表用戶標識號,也叫做uid。系統識別用戶身份就是通過這個數字來的,0就是root,也就是說你可以修改test用戶的uid爲0,那麼系統會認爲root和test爲同一個賬戶。通常uid的取值範圍是0~65535,0是超級用戶(root)的標識號,1~499由系統保留,作爲管理賬號,普通用戶的標識號從500開始,如果我們自定義建立一個普通用戶,你會看到該賬戶的標識號是大於或等於500的。

4)表示組標識號,也叫做gid。這個字段對應着/etc/group 中的一條記錄,其實/etc/group和/etc/passwd基本上類似。

5)註釋說明,該字段沒有實際意義,通常記錄該用戶的一些屬性,例如姓名、電話、地址等等。不過,當你使用finger的功能時就會顯示這些信息的(稍後做介紹)。

6)用戶的家目錄,當用戶登錄時就處在這個目錄下。root的家目錄是/root,普通用戶的家目錄則爲/home/username,這個字段是可以自定義的,比如你建立一個普通用戶test1,要想讓test1的'家目錄在/data目錄下,只要修改/etc/passwd文件中test1那行中的該字段爲/data即可。

7)shell,用戶登錄後要啓動一個進程,用來將用戶下達的指令傳給內核,這就是shell。Linux的shell有很多種sh, csh, ksh, tcsh, bash等,而Redhat/CentOS的shell就是bash。查看/etc/passwd文件,該字段中除了/bin/bash外還有/sbin/nologin比較多,它表示不允許該賬號登錄。如果你想建立一個賬號不讓他登錄,那麼就可以把該字段改成/sbin/nologin,默認是/bin/bash。

 再來看看/etc/shadow這個文件,和/etc/passwd類似,用”:”分割成9個字段。

1)用戶名,跟/etc/passwd對應。

2)用戶密碼,這個纔是該賬號的真正的密碼,不過這個密碼已經加密過了,但是有些黑客還是能夠解密的。所以爲了安全,該文件屬性設置爲600,只允許root讀寫。

3)上次更改密碼的日期,這個數字是這樣計算得來的,距離1970年1月1日到上次更改密碼的日期,例如上次更改密碼的日期爲2012年1月1日,則這個值就是365*(2012-1970)+1=15331。

4)要過多少天才可以更改密碼,默認是0,即不限制。

5)密碼多少天后到期。即在多少天內必須更改密碼,例如這裏設置成30,則30天內必須更改一次密碼,否則將不能登錄系統,默認是99999,可以理解爲永遠不需要改。

6)密碼到期前的警告期限,若這個值設置成7,則表示當7天后密碼過期時,系統就發出警告告訴用戶,提醒用戶他的密碼將在7天后到期。

7)賬號失效期限。你可以這樣理解,如果設置這個值爲3,則表示:密碼已經到期,然而用戶並沒有在到期前修改密碼,那麼再過3天,則這個賬號就失效了,即鎖定了。

8)賬號的生命週期,跟第三段一樣,是按距離1970年1月1日多少天算的。它表示的含義是,賬號在這個日期前可以使用,到期後賬號作廢。

9)作爲保留用的,沒有什麼意義。