Linux常用命令(五)賬號和組管理
Linux常用命令(五)賬號和組管理
一、管理用戶賬號
1、用戶賬號的分類
■超級用戶:root用戶是Linux系統中默認的超級用戶賬號,對本主機擁有最大的權限,類似於Windows 系統中的Administrator用戶。
■普通用戶:普通用戶賬號需要由root用戶或其他管理員用戶創建;擁有的權限收到一定限制,一般只 在用戶自己的宿主目錄中擁有完整權限。
■程序用戶:在安裝linux系統及部分應用程序時,會添加一些特定的低權限用戶賬號,這些用戶一般 不允許登錄到系統,而僅用於維持系統或某個程序的正常運行。
2、組賬號
基礎某種特定聯系將多個用戶集合在一起,即構成一個用戶組,用於表示該組內所有用戶的賬號稱為組賬號。每一個用戶賬號至少屬於一個組,這個組稱為該用戶的基本組(或私有組);若該用戶同時還包括在其他的組中,則這些組稱為該用戶的附加組(或公共組)。
3、UID和GID號
Linux系統中的每一個用戶賬號都有一個數字形式的身份標記,稱為UID,對於系統核心來說,UID作為區分用戶的基本依據,每個用戶的UID號應該是唯一的。root用戶賬號的UID號為固定值0,而程序用戶賬號的UID號默認為1~499,普通用戶使用的UID號默認為500~60000。
二、用戶賬號管理
1、用戶賬號文件
與用戶賬號相關的配置文件主要有兩個,分別是
1.1)、passwd文件
passwd文件主要保存用戶名稱、宿主目錄、登錄Shell等基本信息。在配置文件中,每一行對應一個用戶賬號,不用的配置項之間使用冒號“:”進行分隔。
passwd文件的每一行內容中,包含了七個用冒號“:”分隔的配置字段,從左到右各個配置字段的含義分別如下所述。
■第1字段:用戶賬號的名稱,也是登錄系統時使用的識別名稱。
■第2字段:經過加密的用戶密碼字串,或者密碼占位符“x”。
■第3字段:用戶賬號的UID號。
■第4字段:所屬基本組賬號的GID號。
■第5字段:用戶全名,可填寫與用戶相關的說明信息。
■第6字段:宿主目錄,即該用戶登錄後所在的默認工作目錄。
■第7字段:登錄Shell等信息,用戶完成登錄後使用的Shell。
所有用戶都可以訪問passwd文件中的內容,但是只有root用戶才能進行更改。
1.2)、shadow文件中的配置行格式
shadow文件又被稱為“影子文件”,其中保存有各用戶賬號的密碼信息,因此對shadow文件的訪問應該進行嚴格限制。默認只有root用戶能夠讀取文件中的內容,而不允許直接編輯該文件中的內容。
■第1字段:用戶賬號名稱
■第2字段:使用MD5加密的密碼字符串信息,當為“*”或“!!”時表示此用戶不能登錄到系統。若 該字段內容為空,則該用戶無需密碼即可登錄系統。
■第3字段:上次修改密碼的時間,表示從1970年01月01日算起到最近一次修改密碼時,間隔的天數。
■第4字段:密碼的最短有效天數,自本次修改密碼後,必須至少經過該天數才能再次修改密碼。默認 值為0,表示不進行限制。
■第5字段:密碼的最長有效天數,自本次修改密碼後,經過該天數以後必須再次修改密碼。默認值 為99999,表示不進行限制。
■第6字段:提前多少天警告用戶口令將過期,默認值為7。
■第7字段:密碼過期之後多少天內禁用此用戶。
■第8字段:賬號失效時間,此字段指定了用戶作廢的天數(從1970年01月01日起計算),默認值為 空,表示賬號永久可用。
■第9字段:保留字段,目前沒有特定的用途。
2、添加、修改、刪除用戶賬號
2.1)、useradd命令——添加用戶賬號
useradd [選項] 用戶名
使用useradd命令添加用戶賬號時主要完成以下幾項任務。
■ 在/etc/passwd文件和/etc/shadow文件的末尾增加該用戶賬號的記錄。
■ 若未明確指定用戶的宿主目錄,則在/home目錄下自動創建與該用戶賬號同名的宿主目錄,並在該 目錄中建立用戶的各種初始配置文件。
■ 若沒有明確指定用戶所屬的組,則自動創建與該用戶賬號同名的基本組賬號,組賬號的記錄信息將 保存到/etc/group、/etc/gshadow文件中。
useradd命令中幾個常見選項。
■ –u:指定用戶的UID號,要求該UID號碼未被其他用戶使用。
■ –d:指定用戶的宿主目錄位置(當與-M一起使用時,不生效)。
■ –e:指定用戶的賬戶失效時間,可使用“年-月-日”的日期格式。
■ –g:指定用戶的基本組名(或使用GID號)
■ –G:指定用戶的附加組名(或使用GID號)
■ –M:不建立宿主目錄,即使/etc/login.defs系統配置中已設定要建立宿主目錄。
■ –s:指定用戶的登錄Shell
2.2)、passwd命令——為用戶賬號設置密碼
通過useradd命令新增用戶賬號以後,還需要為其設置一個密碼才能夠正常使用。使用passwd命令可以設置或修改密碼,root用戶有權管理其他賬號的密碼。例如為zhangsan設置密碼,密碼要輸兩遍,第二遍是確認,要和第一遍一樣。
這裏由於設置的密碼為123,所以提示“無效的密碼:過短,過於簡單”但是沒關系,密碼已經設置成功了。正常情況密碼還是應該設置的復雜一點。
使用passwd命令除了可以修改賬號的密碼之外,還能夠對用戶賬號進行鎖定、解鎖,或者也可以將用戶的密碼設置為空(無需密碼即可登錄)。常用選項如下:
■ –d:清空指定用戶的密碼,僅使用用戶名即可登錄系統。
■ –l:鎖定用戶賬戶。
■ –S:查看用戶賬號的狀態(是否被鎖定)
■ –u:解鎖用戶賬戶。
2.3)、usermod命令——修改用戶賬號屬性
對於系統中已經存在的用戶賬號,可以使用usermod命令重新設置各種屬性。常用參數如下:
■ –u:修改用戶的UID號。
■ –d:修改用戶的宿主目錄位置。
■ –e:修改用戶的賬戶失效時間,格式“年—月—日”
■ –g:修改用戶的基本組名(或使用GID號)
■ –G:修改用戶的附加組名(或是用GID號)
■ –s:指定用戶的登錄Shell。
■ –l:更改用戶賬號的登錄名稱
■ –L:鎖定用戶賬戶。
■ –U:解鎖用戶賬戶。
若要修改已有賬號的宿主目錄,需要先將該賬號原有的宿主目錄轉移到新的位置,然後再通過usermod命令設置新的宿主目錄位置。例如,執行以下操作可以將zhangsan用戶的宿主目錄由/home/zhangsan轉移至/zhangsan。
註意:zhangsan賬號不能處於登錄狀態。
2.4)、userdel命令——刪除用戶賬號
格式為
結合“-r”選項可同時刪除宿主目錄。
3.用戶賬號的初始配置文件
添加一個新的用戶賬號後,useradd命令會在該用戶的宿主目錄中建立一些初始配置文件。這些文件來自於賬號模板目錄“/etc/skel”,基本上都是影藏文件,較常用的初始配置文件有:
■ .bashrc_profile:文件中的命令將在該用戶每次登錄時被執行。
■ .bash_logout:文件中的命令將在用戶每次退出登陸時執行。
■ .bashrc:文件中的命令會在每次加載“/bin/Bash”程序時(當然也包括登陸系統)執行。
三、組賬號管理
1、組賬號文件
與組賬號相關的配置文件也有兩個,分別是“/etc/group”、“/etc/gpasswd”。前者用於保存組賬號的名稱、GID號、組成員等基本信息,後者用於保存組賬號的加密密碼字串等信息(很少用)
2、添加、刪除、修改組賬號
2.1)、groupadd命令——添加組賬號
需要指定GID號時,可以使用“-g”選項
2.2)、grpasswd命令——添加、設置、刪除組成員
■ –a:添加一個組成員(用戶寫前邊,組寫後邊)
■ –d:刪除組中的某一個成員
■ –M:一次性添加多個用戶到一個組裏邊。
2.3)、groupdel命令——刪除組賬號
當系統中的某個組賬號已經不再使用時,可以使用groupdel命令將該組賬號刪除。
四、查詢賬號信息
1、groups命令——查詢用戶賬號所屬的組
使用groups命令可以查看指定的用戶賬號屬於那些組。
2、id——查詢用戶賬號的身份標識
使用id命令可以快速查看指定用戶賬號的UID、GID等標識信息。
3、w命令——查詢當前主機的用戶登錄情況
使用w命令可以查詢當前主機中的用戶登錄情況,列出登錄賬號名稱、所在終端、登錄時間、來源地點等信息。
本文出自 “侯良金” 博客,請務必保留此出處http://houliangjin.blog.51cto.com/13112910/1964209
Linux常用命令(五)賬號和組管理