Linux系統(tǒng)使用一個專門的文件將用戶的登錄名匹配到對應的UID值,這個文件就是/etc/passwd文件,它包含了一些與用戶有關的關鍵信息
創(chuàng)新互聯(lián)公司專業(yè)IDC數(shù)據(jù)服務器托管提供商,專業(yè)提供成都服務器托管,服務器租用,遂寧托管服務器,遂寧托管服務器,成都多線服務器托管等服務器托管服務。
root用戶賬戶是Linux系統(tǒng)的管理員,固定分配給他的UID是0。Linux系統(tǒng)會為各種功能創(chuàng)建不同的賬戶,而這些賬戶并不是真的用戶,叫做系統(tǒng)賬戶
/etc/passwd文件文件中的密碼字段都被設置成了x,這并不是說所有用戶賬戶都用相同的密碼,而密碼都被保存在另一個叫/etc/shadow的文件中,這需要特殊的程序才能訪問
/etc/passwd是一個標準的文本文件,但是不建議用編輯器直接修改其內(nèi)容
/etc/shadow文件對Linux系統(tǒng)密碼提供了更多的控制,只有root用戶才能訪問/etc/shadow文件,這讓它比/etc/passwd安全許多
他一共有九個字段
1、與/etc/passwd文件中登錄名對應字段的登錄名
2、加密后的密碼
3、上次修改密碼后過去多少天
4、多少天后才能修改密碼
5、多少天后必須修改密碼
6、密碼過期提前多少天通知用戶
7、密碼過期后多少天禁用用戶賬戶
8、用戶賬戶被禁用的日期
9、預留字段
/etc/group文件包含了系統(tǒng)上用到的每個組的信息和UID一樣,GID也使用相同的格式,并從500開始分配
主目錄 :用戶的起始工作目錄,用戶登錄后有操作權(quán)限的訪問目錄
注釋性描述 :這個字段并沒有什么實際的用途。在不同的Linux 系統(tǒng)中,這個字段的格式并沒有統(tǒng)一。在許多Linux系統(tǒng)中,這個字段存放的是一段任意的注釋性描述文字,用做finger命令的輸出。
登陸shell :用戶登錄后,要啟動一個進程,負責將用戶的操作傳給內(nèi)核,這個進程是用戶登錄到系統(tǒng)后運行的命令解釋器或某個特定的程序,即Shell。
newgrp 指令類似 login 指令,當它是以相同的帳號,另一個群組名稱,再次登入系統(tǒng)。 newgrp 命令可以從用戶的附加組中選擇一個群組,作為用戶新的初始組。 欲使用 newgrp 指令切換群組,您必須是該群組的用戶,否則將無法登入指定的群組。單一用戶要同時隸屬多個群組,需利用交替用戶的設置。若不指定群組名稱,則 newgrp 指令會登入該用戶名稱的預設群組。
1、打開自己的linux系統(tǒng)。
2、接著打開“終端”命令窗口。
3、接著修改一個文件的所有者和組別,首先先看看這個文件的所屬。
4、接著輸入一下命令chown root music,先修改文件的所有者。注意修改文件的時候必須在root用戶下。
5、再接著查看文件的所有者是否被修改成功。
6、然后輸入chgrp root music命令,來修改文件的用戶組。
7、最后再查看一下文件的用戶組也被修改了。
Linux中每個用戶都要屬于一個或多個組,有了用戶組,就可以將用戶添加到組中,這樣就方便管理員對用戶的集中管理。 Linux系統(tǒng)中用戶組分為root組、系統(tǒng)組、普通用戶組三類。當一個用戶屬于多個組時,這些組中只能有一個作為該用戶的主屬組,其他組就被稱為此用戶的次屬組。 組基本信息在文件/etc/group中;組密碼信息在文件/etc/gshadow中。通過命令:cat /etc/group、cat /etc/gshadow可查看文件內(nèi)容。
各用戶組中,以 ":" 作為字段之間的分隔符,分為 4 個字段,每個字段對應的含義為:
組名:密碼:GID:該用戶組中的用戶列表
而在gshadow文件中,每行代表一個組用戶的密碼信息,各行信息用 ":" 作為分隔符,分為 4 個字段,每個字段的含義如下:
組名:加密密碼:組管理員:組附加用戶列表
root用戶可以直接修改/etc/group文件達到管理組的目的,也可以使用以下命令:groupadd、groupdel、groupmod -n、gpasswd -a、gpasswd -d、newgrp。
下面使用案例分別講解這些命令:
添加用戶組的命令是 groupadd,命令格式如下:
groupadd? [ -g gid? [ -o ] ]? [ -r ]? [ -f ]? group
參數(shù)說明:
-g:指定新建工作組的 id;
-r:創(chuàng)建系統(tǒng)工作組,系統(tǒng)工作組的組ID小于 500;
-K:覆蓋配置文件 "/ect/login.defs";
-o:允許添加組 ID 號不唯一的工作組。
-f,--force: 如果指定的組已經(jīng)存在,此選項將失明了僅以成功狀態(tài)退出。當與 -g 一起使用,并且指定的GID_MIN已經(jīng)存在時,選擇另一個唯一的GID(即-g關閉)。
示例:創(chuàng)建一個新的組,并添加組 ID。
[root@VM-4-4-centos ~]# groupadd? -g? 888? newgroup
此時在/etc/group文件中產(chǎn)生了一個id為888的項目:
刪除用戶組時,可用groupdel(group delete)指令來完成。倘若該組中仍包括某些用戶,則必須先刪除這些用戶后,方能刪除組。 注意:刪除的組不能為主屬組! 命令格式:
groupdel? [組名]? ? ? ? ?
示例:刪除用戶組 newgroup
[root@VM-4-4-centos ~]# groupdel? newgroup
此時再查看/etc/group文件時可以看到用戶組newgroup已經(jīng)不存在,刪除成功!
要更改用戶組識別碼或名稱可使用 groupmod 來完成。命令格式:
groupmod? [ -g? 群組識別碼? -o ] [ -n? 新群組名稱 ] [原群組名稱]
參數(shù)說明 :
-g 群組識別碼 設置欲使用的群組識別碼。
-o 重復使用群組識別碼。
-n 新群組名稱 設置欲使用的群組名稱。
示例:創(chuàng)建用戶組newgroup并修改其名稱為modifiedgroup
[root@VM-4-4-centos ~]# groupadd? newgroup
[root@VM-4-4-centos ~]# groupmod? -n? modifiedgroup? newgroup
查看/etc/group文件,只存在名稱為modifiedgroup的用戶組,修改成功!
gpasswd 是 Linux 下工作組文件 /etc/group 和 /etc/gshadow 管理工具,用于將一個用戶添加到組或者從組中刪除。命令格式:
gpasswd? [可選項]? 組名
可選項參數(shù) :
-a:添加用戶到組;
-d:從組刪除用戶;
-A:指定管理員;
-M:指定組成員和-A的用途差不多;
-r:刪除密碼;
-R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組。
示例1:將用戶yangwei添加到組modifiedgroup中
[root@VM-4-4-centos ~]# gpasswd? -a? yangwei? modifiedgroup
此時查看/etc/group文件發(fā)現(xiàn)組?modifiedgroup中出現(xiàn)用戶yangwei
示例2:將用戶yangwei從組modifiedgroup中給刪除
[root@VM-4-4-centos ~]# gpasswd? -d? yangwei? modifiedgroup
再次查看/etc/group文件發(fā)現(xiàn)用戶yangwei已經(jīng)不存在。
當需要在不同的群組下工作的時候我們需要進行切換群組操作,這個操作由newgrp指令來完成。命令格式如下:
newgrp [群組名稱]
注意!當前用戶必須都是兩個群組的成員,否則切換群組時需要輸入切換組的組密碼,這時候當前用戶作為臨時成員在切換組下工作,所創(chuàng)建的文件全都屬于切換組。
示例1:用戶yangwei不屬于群組modifiedgroup,請將當前工作組切換為modifiedgroup。
示例2:將用戶yangwei添加到組modifiedgroup中,并切換工作組為modifiedgroup。
總結(jié):Linux用戶組管理需要掌握最基本的幾個命令及其選項參數(shù): groupadd 、groupdel 、groupmod 、gpasswd 、newgrp !