闡述Linux用戶管理的知識
很多人開始學習Linux時,學習Linux,你可能會遇到Linux用戶管理問題,這里將介紹Linux用戶管理問題的解決方法,在這里拿出來和大家分享一下。在Linux中系統(tǒng)中,它并不認識帳號名稱。它認識的是我們的帳號ID,帳號ID保存在/etc/passwd文件中。
我們在登錄Linux主機時,在輸入完帳號和密碼時,Linux會先查找/etc/passwd文件中是否有這個帳號,如果沒有則跳出,如果有的話,他會讀取該帳號的user ID和group ID同時該帳號的根目錄和shell也讀了出來。然后在去核對密碼表,在/etc/shadow中找出我們剛剛輸入的帳號和userID,核對我們輸入密碼是否正確。一切正確我們可以登錄到當前用戶shell。那么,我們首先了解一下用戶帳號文件。
1、/etc/passwd我們使用more查看一下這個文件
我們首先看第一行root這一行,一共有七項,每一項使用:分開,他們代表的意思如下:
帳號名稱:帳號名稱由于對應用戶ID,這個是系統(tǒng)默認用戶root超級管理員,在同一個系統(tǒng)帳號名稱是唯一的,長度根據不同的Linux系統(tǒng)而定,一般是8位。
密碼:由于系統(tǒng)中還有一個/etc/shadow文件用于存放加密后的口令,所以在這里這一項是“x”來表示,如果用戶沒有設置口令,則該項為空。
用戶ID:這個是系統(tǒng)內部用于來識別不同的用戶的,不同的用戶識別碼不同,其中用戶ID有以下幾種:
0代表系統(tǒng)管理員,如果你想建立一個系統(tǒng)管理員的話,可以建立一個普通帳戶,然后將該賬戶的用戶ID改為0即可。
1-500系統(tǒng)預留的ID,500以上是普通用戶使用。
組ID:其實這個和用戶ID差不多,用來規(guī)范群組,他與/etc/group有關。
描述信息:這個字段幾乎沒有什么作用,只是用來解釋這個帳號的意義。
用戶根目錄:就是用戶登錄系統(tǒng)的起始目錄,用戶登錄系統(tǒng)后將首先進入該目錄。root用戶默認的是/root,普通用戶的是/home/用戶名。
用戶登錄shell:就是用戶登錄系統(tǒng)時使用的shell,關于shell我們會在以后專門的研究一下。
2、/etc/shadow
在早期的unix操作系統(tǒng)中,用戶的帳號信息和口令信息都保存在passwd文件中,盡管系統(tǒng)已經對口令進行了加密,并且以密文的方式保存在passwd文件中,但是由于passwd文件對于系統(tǒng)中的所有用戶是可讀的,口令比較容易破解,存在較大的安全隱患。現(xiàn)在使用“shadow”文件保存密文的用戶口令,使用passwd文件保存用戶帳號其它信息?!皊hadow”文件只有管理員用戶才可以讀取其中的內容。由于這個文件可能被破解,所以一定不要將該文件內容泄露給他人,保證系統(tǒng)安全。
同樣,我們還是分析第一行,一共有九項,分別說明一下:
帳戶名稱:和passwd對應,和passwd的意思相同。
密碼:這才是真正的密碼,并且已經加密過了,只能看到一些特殊符號。需要注意的是這些密碼很難破解,但是不等于不能。還有密碼欄的第一個字符為“*”表示這個用戶不用來登錄,如果那個用戶不想讓他登錄了,可以在他前面加個星。
上次改動密碼的日期:這段記錄了改動密碼的最后日期,為什么是13798呢?這是因為Linux計算日期的方法是以1970年1月1日作為1,1971年1月1日就是366,依次類推到我修改密碼的日期表示為13798了。
密碼不可被改動的天數:由于害怕密碼被人盜取而危害到整個系統(tǒng)的安全,所以安排了這個字段,你必須在這個時間內重新修改密碼,否則這個帳號將暫時失效。上面的99999,表示密碼不需要重新輸入,最好設定一段時間修改密碼。確保系統(tǒng)安全。
密碼變更期期限快到前的警告期:當帳號的密碼失效期限快到時,系統(tǒng)依據這個字段的設定發(fā)出警告,提醒用戶“再過n天您的密碼將過期,請盡快重新設定密碼。默認的是七天。
帳號失效期:如果用戶過了警告期沒有重新輸入密碼,使得密碼失效,而該用戶在這個字段限定的時間內又沒有向管理員反映,讓帳號重新啟用,那么這個帳號將暫時失效。
帳號取消日期:這個日期跟第三個字段一樣,都是使用1970年以來的日期設定方法。這個字段表示:這個帳號在此字段規(guī)定的日期之后將無法再使用。這個字段通常用于收費服務系統(tǒng)中,可以規(guī)定一個日期讓該帳號不能再使用。
保留:最后一個字段是保留的,看以后有沒有新功能加入?!?/P>
3、 /etc/group查看一下這個文件
我們還是分析第一行,一共有四項,依次為:
群組名稱:就是群組的名稱了。
群組密碼:通常不需設定,因為我們很少使用群組登錄。不過這個密碼也被記錄在/etc/gshadow中了。
群組ID:也就是組ID了。
支持帳號的名稱:這個群組的所有帳號。如果你想讓用戶qiuri也屬于root這個群組,就在第一行最后加上“,qiuri”注意添加的時候沒有空格。
4、adduser添加用戶
如果沒有特殊的要求,通常我們使用adduser 用戶名稱直接創(chuàng)建用戶帳號。例如我們創(chuàng)建qiuri帳戶:
由于一般新創(chuàng)建的帳號都會在剛才我們說的三個文件的最后一行添加一行內容,我們驗證一下:
我們使用這條命令是通過/etc/login.defs和/etc/default/useradd這兩個默認帳號設定文件來實現(xiàn)創(chuàng)建用戶的。
這個文件中我們有必要了解一下,SKEL這個選項,用戶的根目錄內容是從/etc/skel這個目錄下復制過去的。在手動添加用戶的時候有用。查看一下這個目錄下的內容:
這條命令還有好多的參數舉例幾個,供大家參考一下:
adduser [-u uid][-g group][-d home][-s shell]
-u:直接給出userID -g:直接給出GID
-d:直接將根目錄建立在已存在目錄 -s:定義shell
5、passwd設置用戶密碼
默認的情況下,在添加完用戶后并沒有設置用戶的密碼,因此建立的用戶帳號即使存在也不能登陸系統(tǒng)。需要使用passwd命令對用戶帳號設置密碼才可以用于登陸系統(tǒng)。這條命令分為管理員給用戶修改密碼和用戶自己登錄系統(tǒng)自己修改密碼。
管理員root給用戶修改密碼,例如:創(chuàng)建用戶qiuri,然后設置密碼
管理員給用戶設置密碼以命令passwd [用戶名]來設置密碼,在輸入密碼的過程中為了避免輸入錯誤,將連續(xù)輸入兩次。如果兩次輸入的密碼相同,表示輸入的密碼正確,同時將密碼以加密的方式保存到了shadow文件中。設置完以后我們可以使用用戶qiuri登錄。qiuri用戶自己修改一下密碼。
希望通過本文對你學習Linux用戶管理有所幫助。
【編輯推薦】