Linux學習筆記(四)帳號管理之系統管理使用者帳號

來源:互聯網
上載者:User

標籤:帳號管理   使用者管理   系統管理使用者帳號   增刪使用者   設定使用者口令   

1.系統管理使用者帳號:每一個登入Linux作業系統的使用者在系統中都應該有其對應的註冊帳號,這些帳號記錄了使用者的資訊,如使用者名稱、登入口令、使用者目錄所在位置、所用的shell、建立時間、許可權等資訊。其中使用者帳號管理組件括:添加使用者、設定口令、刪除使用者,修改使用者屬性和許可權等。因此,帳號管理是系統管理員重要的日常工作之一。

(1).添加使用者:其中超級使用者的帳號在Linux系統安裝時已經建立了,即root使用者,但超級使用者的許可權太大不適合給普通使用者使用,否則會對Linux系統安全造成威脅;因此,所有要使用Linux作業系統管理資源的普通使用者都要向超級使用者root或擁有超級使用者權限的系統管理員申請一個使用者帳號,以便登入Linux系統。這對於超級使用者root或系統管理員來說,就是添加使用者。

 添加使用者的方式可以在字元終端下,也可以在圖形介面下,我只會介紹在字元終端下的添加使用者方法,這種方式也有很多方法,如使用終端命令、修改設定檔、編寫shell指令碼程式等。


字元終端下的添加使用者方法的第一種方式:

— —  終端命令添加使用者:useradd命令,簡單用法:useradd 使用者名稱。基本用法:useradd [-d home_dir] [-s shell] 使用者名稱,其中用括弧括起來可選的,其中 -d home_dir 指定使用者工作目錄,-s shell 指定的是使用什麼shell。

使用這個命令所建立的使用者帳號資訊實際上儲存在 /etc/passwd 文字檔上,而加密的使用者帳號資訊則儲存在 /etc/shadow檔案上。預設的使用者工作主目錄是 /home/使用者名稱,即Linux系統會自動在 /home目錄下建立一個以使用者名稱命名的目錄作為使用者的工作主目錄,並複製初始化設定檔到該目錄。其中系統也預設為每個使用者建立一個組群並加入到系統中,而組群是放在 /etc/group下的。接下來我們來示範一下這個命令:

如果還想理解其它用法,即其它的選項參數,可以使用man useradd命令。

這樣就添加了一個xg使用者,但是沒有設定口令,怎麼知道它是否添加成功呢?可以用下面的方式看是否添加成功:


 — — 我們可以分別輸入命令:gedit /etc/passwd,gedit /etc/shadow,開啟etc目錄下的passd檔案和shadow檔案,看是否把使用者的帳號資訊儲存到裡面去了:

當輸入gedit /etc/passwd命令時,按下斷行符號鍵,如所示:

從的紅色框框處,可以看到我們已經把xg使用者的帳號資訊儲存到了passwd檔案下。

當我們輸入gedit /etc/shadow命令時,按下斷行符號鍵,如所示:

從我們可以看出系統已經把xg使用者的帳號資訊加密儲存到了shadow檔案下。


而預設的使用者工作主目錄是 /home/使用者名稱,那我們可以看下home目錄下是否有xg這個目錄,輸入的兩行命令,可看到:

xg使用者的工作目錄已經存在了。


其中系統也預設為每個使用者建立一個組群並加入到系統中,而組群是放在 /etc/group下的,所以我們輸入命令 gedit /etc/group,開啟group檔案,如所示:



字元終端下的添加使用者方法的第二種方式:

— — 修改檔案添加使用者:用useradd命令添加使用者,實際上就是向 /etc/passwd、/etc/shadow、/etc/group檔案中寫入使用者帳號的資訊。所以,我們可以用修改檔案的方式添加使用者,這個方法就是利用任意一個文字編輯器直接開啟 /etc 目錄下的 passwd 等檔案進行修改,其中passwd檔案的每一行有7個域、且由冒號分隔,每行就是一個使用者的帳號資訊。若要添加使用者,只要在該檔案寫入相應的條目即可。但是這種方法不會自動建立使用者工作目錄,不會自動修改shadow,group檔案,也不會自動建立使用者工作目錄,所以超級使用者或系統管理員一定要記住為新使用者建立相應的工作目錄,並把一些必要的使用者設定檔複製到該使用者目錄下,還要按照規則修改shadow呵呵group檔案。

註:採用這種方法必須對Linux系統非常熟悉,否則很容易漏掉一些操作,造成使用者帳號中資料的丟失或者無法正常使用,所以,對於像我這樣的新手是不敢隨便採用的,這裡,建議初學者謹慎採用這個方法。

但是我們可以瞭解下這個passwd檔案的格式,格式如下:

Login name:passwd:user ID:group ID:user full name:home directory:login shell

其中每個域的含義如下:

Login name:使用者向系統登入時輸入的使用者名稱。使用者名稱的命名規則為:只能由字母、數字、底線組成,而且只能以字母開頭,雖然底線開始也能建立使用者帳號,但系統不允許登入;使用者名稱的長度不超過32個字元,否則提示為無效的使用者名稱;同一個系統使用者名稱必須是唯一的。

passwd:為了使用者的安全,Linux系統對使用者的口令和其他資訊進行加密處理,並儲存在/etc/shadow檔案中,因此在passwd檔案的passwd域不會明文顯示口令,只是以字元"x"表示該使用者存在登入口令。即口令是放在shadow檔案中的,並且加密,在shadow檔案顯示的為密文。

user ID:是系統內部識別使用者的標識,即使用者ID,Linux把使用者分為超級使用者和普通使用者,一般系統使用者由系統進程、服務守護進程和超級使用者等組成,分配給它們的使用者ID一般為0~99,普通使用者的ID預設從500開始遞增,最大可以到60000。除非在使用useradd命令時加了 -r 這個參數選項,即useradd -r 使用者名稱,建立一個超級使用者,否則都為普通使用者。

group ID:使用者所屬組群的標識,預設值都在500~60000之間。

註:其中user ID和group ID的預設值都放在etc目錄下的login.defs檔案中。

user full name:使用者全名。該域實際上是對登入使用者名稱的注釋,該域的內容會被加到電子郵箱地址的前面。

home directory:該域是建立使用者帳號時設定的使用者工作目錄,使用者在登入系統時自動進入該目錄,使用者建立的檔案一般預設儲存在該目錄下。

login shell:該域是建立使用者帳號時設定使用者所使用的shell。所謂shell,就是使用者與作業系統核心之間的介面,是系統命令的解釋程式。在LInux系統中有多種shell,如bash、sh、csh、ksh等。系統預設的shell為bash。

其中shadow檔案的格式與passwd檔案格式是一樣的,只不過除了使用者名稱域沒有加密外其它各域都是加密儲存的。


— — 我們可以用命令查看etc目錄下的passwd檔案和shadow檔案的區別,其中以root超級使用者為例:

輸入命令 gedit /etc/passwd ,如所示:

輸入命令 gedit /etc/shadow ,如所示:


從上面的圖片可以看到,檔案的每行有7個域,每個域之間用:分隔;每行就是一個完整使用者帳號資訊,如root這個使用者來說,在passwd檔案中,它的使用者ID和組ID都是0,因為屬於系統使用者,密碼用"x"表示,超級使用者的工作目錄為/root,使用者全名也為root,使用的shell為/bin目錄下的bash;在shadow檔案中,使用者名稱為root,密碼為密文,除使用者名稱外都用密文來加密了使用者帳號的資訊。

這裡在介紹一下/etc目錄的group檔案,輸入命令 gedit /etc/group,如所示:


— — 總結:上面通過修改檔案添加使用者這種方式,建議像我一樣的新手謹慎採用,其中那三個檔案,/etc目錄下passwd這個檔案叫做口令名字,其存取權限普通使用者都可以訪問,/etc目錄下的shadow檔案叫做影子檔案,其存取權限,只有系統使用者可以訪問,並且檔案許可權只能讀,不能寫,要寫入東西的話要用vi編輯器,/etc目錄下的group檔案叫做組檔案,存取權限,也是普通使用者可以訪問的。




(2).設定口令:上面我們使用useradd命令添加一個xg使用者,並沒為這個使用者佈建口令,如果沒設定的話,就無法用這個使用者登入上我們的Linux系統,因為系統時暫時禁止你使用該帳號,所以必須為使用者佈建口令。

— — 口令設定的規則:口令設定的好壞,直接關係到使用者帳號是否容易被入侵、使用者工作目錄的資料是否安全,如果是超級使用者root的話,則還關係到整個系統的安全。所以我們必須要設定一個好口令,使得系統安全,其中必須要注意一些內容:

口令必須忌用:使用者名稱字或寵物名。容易與使用者相關聯的任何東西,如生日,電話,住址等。字典中的單詞。上面任何一個的倒序,與使用者有關聯的東西的倒序容易被猜中,如電話。

口令易用:有足夠長度,每增長一位,被破解的可能性會降低幾個數量級。用混有數字,特定字元的組合。用一些自己容易記住,但是別人又難以猜到的數字、字元組合。用輸入較快的數字、特定字元的組合。不要記錄下密碼,比如記錄密碼在你系統的檔案等。經常改變密碼。


— — 口令設定命令:設定口令的命令是passwd,如果要用該命令為其他使用者佈建口令,則只能由超級使用者或有超級使用者權限的系統管理員完成;如果是普通使用者,會受到許可權的限制,則只能改變該使用者自己的口令。

其基本用法為:passwd [使用者名稱],其基本用法中使用者名稱省略的話,則設定的是當前已經登入使用者的口令;如果設定的是新添加的使用者,則必須指定該使用者的使用者名稱,如為上面我們所添加的使用者xg設定口令的話,可以輸入命令passwd xg,如所示:

輸入你的新口令,再重新輸入一次,就設定成功了。

如果想知道瞭解更多關於passwd命令的話,可以輸入man passwd命令,看其中的選項參數,有什麼作用等。




(3).修改使用者屬性:使用者有時會提出修改登入得使用者名稱、加入別的組群或使用其他的shell等要求,作為系統管理員要能根據使用者合理的要求作出必要的修改,以便使用者能方便,有效地使用系統。修改使用者屬性可以採用終端命令方式,也可以採用修改設定檔的方式。

— — 終端命令修改:修改使用者屬性的終端命令是usermod,該命令除了能修改使用者屬性外,還可以對使用者帳號口令進行加/解鎖處理。

註:如果某個使用者已經登入系統,則不允許用usermod修改這個使用者的屬性。

usermod -d home_dir [-m]:指定使用者新的工作目錄,如果採用 -m 的參數選項的話,則使用者當前工作目錄中的內容將一道新的工作目錄;若新目錄不存在,則自動建立它。

usermod -l login_name:修改使用者登入的使用者名稱。

usermod -L 使用者名稱:鎖定使用者帳號口令,使口令無效。

usermod -U 使用者名稱:解除使用者帳號口令鎖定,使口令生效。

如果想知道更多參數選項,可以使用man usermod命令。


— — 修改檔案:與上面用修改檔案添加使用者的原理一樣,所以直接修改 /etc/passwd 和 /etc/shadow 檔案中該使用者的帳號資訊行也可以達到修改使用者屬性的目的。如果修改了使用者登入名稱,則在shadow檔案所對應的使用者名稱一定要修改。如果再手動更名使用者工作目錄,則就完整地修改了該使用者的屬性。其步驟如下:

~修改/etc/passwd和/etc/shadow檔案中該使用者屬性對應的域。

~要用mv命令更名該使用者的工作目錄。

~還要在/etc/group檔案中修改該使用者組對應的行。




(4).刪除使用者:如果某個使用者已永久地從系統撤離,則為了系統的安全,系統管理員要及時刪除該使用者帳號和相關的目錄與檔案。如果只是暫時撤離,則只要使用passwd -l login_name這個命令把該使用者帳號鎖住,或者在passwd檔案的口令域的x字元前加上星號*或驚嘆號!即可。其中刪除使用者也有終端命令方式刪除和修改檔案方式刪除。

— — 終端命令刪除:使用userdel命令刪除使用者帳號,這個命令包含兩部分的操作。

第一,刪除 /etc/passwd 、/etc/shadow、/etc/group這三個檔案的使用者帳號資訊。

第二,刪除對應於該帳號的系統設定檔和該帳號的工作目錄。

上面這兩步,可以一起進行,也可以分開完成,取決於使用命令的參數選項。

其基本用法:userdel [-r] login_name,其中login_name為使用者登入系統的使用者名稱。

命令選項 -r 表示遞迴刪除該使用者的工作目錄及該目錄下的所有子目錄和檔案。如果選項 -r 不指定,則只是刪除了該使用者的帳號資訊,而保留該使用者的工作目錄以及該工作目錄下的所有子目錄和檔案;除非該使用者的工作目錄要保留給其他使用者使用,否則最好帶上選項 -r 把上面的兩步全部進行。

註:如果某個使用者當前已經登入了系統,則不允許用userdel這個命令刪除這個使用者的帳號。


— — 修改檔案屬性:由於使用者的帳號資訊是記錄在 /etc/passwd 和 /etc/shadow 檔案中的,所以直接刪除這個檔案中該使用者的帳號資訊行也可以達到刪除使用者的目的。如果再手動刪除使用者的工作目錄,則完整地刪除了該使用者。其步驟如下:

~刪除 /etc/passwd 和 /etc/shadow 檔案中該使用者對應的行。

~用rm -fr命令強制遞迴地刪除該使用者的工作目錄以及目錄下的所有子目錄和檔案。

~還要在 /etc/group檔案中刪除該使用者組對應的行。


 


(5).成批添加使用者和成批修改口令:提供了一個新的添加使用者的命令newusers,利用它可以實現快速、便捷地成批添加使用者;可以從一個文字檔中讀取使用者名稱和明文口令時,並用這些資訊去更新若干已存在的使用者組群或者建立一些新的使用者。其中還有一個命令為chpasswd,是從標準輸入裝置上讀取由使用者名稱和口令組成的檔案,並用這些資訊去更新已存在的使用者組群。

註:想理解這兩個命令的話,可以使用man newusers和man chpasswd命令來查看。




2.以上內容僅供大家學習參考,寫得不好,請見諒,如有錯誤,請指出,謝謝!


Linux學習筆記(四)帳號管理之系統管理使用者帳號

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.