天天看點

linux停用使用者賬号的指令,Linux 系統中使用者/組賬号的基本常用指令備忘錄

使用者賬号

與使用者賬号相關的配置檔案主要有兩個,分别是/etc/passwd和/etc/shadow。前者用于儲存使用者名稱、登入目錄、登入Shell等基本資訊,後者用于儲存使用者密碼、賬号有效期等資訊。在這兩個配置檔案中,每一行對應一個使用者賬号,不同的配置項之間使用冒号:進行分隔。

linux停用使用者賬号的指令,Linux 系統中使用者/組賬号的基本常用指令備忘錄

在passwd檔案開頭部分,包括超級使用者root及各程式使用者的賬号資訊,系統中新增加的使用者賬号資訊将儲存到passwd檔案的末尾。passwd檔案的每一行内容中,包括了七個用冒号:分隔的配置字段,從左到右各配置字段的含義分别如下所述。

第一字段:使用者賬号的名稱。

第二字段:經過加密的使用者密碼字串,或者密碼占位符“x”。

第三字段:使用者賬号的UID号。

第四字段:所屬基本組賬号的GID号。

第五字段:使用者全名,可填寫與使用者相關的說明資訊。

第六字段:主目錄,即該使用者登入後所在的預設工作目錄。

第七字段:登入Shell等資訊,使用者完成登入後使用的Shell。

基于系統運作和管理需要,所有使用者都可以通路passwd檔案中的内容,但是隻有超級使用者root才能進行更改。

shadow檔案又被稱為“影子檔案”,其中儲存有各使用者賬号的密碼資訊,是以對shadow檔案的通路應該進行嚴格限制。預設隻有超級使用者root能夠讀取檔案中的内容,而不允許直接編輯該檔案中的内容。

每一行内容中,包含了九個用冒号:分隔的配置字段,從左到右各配置字段的含義分别如下所述。

useradd指令:添加使用者賬号

此指令建立了一個使用者test,其中-d和-m選項用來為登入名test産生一個主目錄/home/test(/home為預設的使用者主目錄所在的父目錄)。

1)若未明确指定使用者的主目錄,則在/home目錄下自動建立與該使用者賬号同名的主目錄,并在該目錄中建立使用者的初始配置檔案。

2)若沒有明确指定使用者所屬的組,則自動建立與該使用者賬号同名的基本組賬号,組賬号的記錄資訊将儲存到/etc/group /etc/gshadow檔案中。

useradd指令中用于設定賬号屬性的幾個常見選項。

檢視全部參數選項可以執行以下指令:

【舉例1.】建立名為test02的使用者賬号,并将其UID号指定為504:

【舉例2.】建立一個輔助管理者賬号,名為admin,将其基本組指定為admin、附加組指定為root,登入目錄指定為/admin:

【舉例3.】建立一個測試用的賬号test03,指定屬于users組,該賬号于2015年10月7日失效:

【舉例4.】建立用于FTP通路的使用者賬号ftpuser,将登陸Shell指定為/sbin/nologin(禁止登陸),且不為其建立登入目錄:

adduser指令:作用一樣,卻不盡然

useradd和adduser都能建立使用者,差別是:

1.adduser會提示設定密碼,而useradd不會

2.adduser會建立使用者目錄,比如/home/test test是使用者,useradd不會

3.adduser會建立使用者組,預設和使用者名相同

useradd是一個ELF可執行程式,不添加任何參數選項,建立出來的使用者将是預設“三無”使用者:無使用者目錄,無密碼,無Shell。

adduser是一個perl腳本, 可以互動式地設定一些使用者參數。

總結:adduser更适合初級使用者,因為不用去記那些繁瑣的參數選項,隻要跟着系統的提示一步一步進行下去就行,缺點就是整個建立過程比較複雜而漫長;而useradd比較适合有些高階經驗的使用者,往往一行指令加參數就能解決很多問題,是以建立起來十分友善。有足夠經驗的人,則建議使用useradd來管理使用者。

passwd指令:為使用者賬号設定密碼

【舉例5.】用useradd建立一個使用者後,記得給它設定密碼,否則将無法登入。超級使用者root可以指定任何使用者的密碼,比如給使用者test設定密碼:

【舉例6.】假設目前登入的使用者是test,則下面的指令修改将自己的密碼:

雖然root使用者可以指定使用者名作為參數,對指定賬号的密碼進行管理,但是普通使用者卻隻能執行單獨的passwd指令修改自己的密碼。

普通使用者設定自己的密碼時,密碼要求有一定的複雜性,否則系統可能拒絕進行設定。

usermod指令:修改使用者賬号屬性

對于已經存在的使用者,可以使用usermod指令重新設定各種屬性。usermod指令同樣需要指定賬号名稱作為參數。常用的幾個參數選項如下:

使用usermod指令時,其大部分的選項與useradd指令的選項是相對應的,作用也相似。除此以外,還有兩個選項-U、-L,分别用于解鎖、鎖定使用者賬号。這兩個選項與passwd指令的-l、-u選項作用基本相同,隻不過大小寫存在差別。

【舉例7.】将admin使用者的登入目錄/admin移動至/home目錄下,并使用usermod指令做相應調整:

【舉例8.】将使用者賬号的登入名稱test03更改為test04,下次登入時生效:

【舉例9.】test05本來的登入目錄為/home/test05,改成/home/test,并把test05加入到test_b組:

userdel指令:删除使用者賬号

使用該指令也需要指定賬号名稱作為參數。添加-r選項時可以将該使用者的登入目錄一并删除。

【舉例10.】删除系統中的使用者賬号test06,但是保留登入目錄。

【舉例11.】删除系統中的使用者賬号test06,同時删除登入目錄。

其它相關指令

檢視目前登入使用者

linux停用使用者賬号的指令,Linux 系統中使用者/組賬号的基本常用指令備忘錄

檢視自己的使用者名

linux停用使用者賬号的指令,Linux 系統中使用者/組賬号的基本常用指令備忘錄

檢視單個使用者資訊

linux停用使用者賬号的指令,Linux 系統中使用者/組賬号的基本常用指令備忘錄

關于使用者賬号的初始配置檔案

添加使用者賬号後,useradd指令會在該使用者的登入目錄中建立一些初始配置檔案。這些檔案來自于賬号模闆目錄/etc/skel,基本上都是隐藏檔案,較常用的初始配置檔案包括.bash_logout、.bash_profile、.bashrc。

其中,.bashrc_profile檔案中的指令将在該使用者每次登陸時被執行;.bashrc檔案中的指令會在每次加載/bin/Bash程式時(當然也包括登陸系統)被執行;而.bash_logout檔案中的指令将在使用者每次退出登陸時被執行。了解這些檔案的作用,便于我們安排一些自動運作的背景管理任務。

如果希望為所有使用者添加登入後自動運作的指令程式、自動設定變量等,可以直接修改/etc目錄下的類似檔案,如/etc/bashrc、/etc/profile檔案。