Linux用戶和組管理

導言:


  現代的計算機系統基本都支持多任務多用戶,我們在使用計算機資源時爲了資源的合理規劃和利用,同時爲了實現更好的管理,需要在計算機裏有一個使用資源的憑證,這個憑證就是用戶,爲了方便管理提供了組概念,組是用戶的容器,下面就介紹Linux用戶和組的管理。


1.資源分派:


    資源的分派可以分爲三個步驟,分別是


   (1)認證(Authertication)


   (2)授權(Authorization):


   (3)審計(Audition)


2.用戶分類:


   (1)管理員:


        在Linux裏默認是root,root具有絕對的權限,一般在生產中不建議使用,用戶權限太大,避免誤操作;Linux系統提供了其他機制解決普通用戶要想使用管理員賬號管理的系統的方式。


   (2)系統用戶:


        系統啓動和後臺進程運行時需要用到的用戶,具有相對的權限,一般不需要登錄系統。


   (2)普通用戶:


        又叫登錄式用戶,跟計算機交互管理系統操作需要用到的用戶,具有相對的權限。


3.UID:


   Linux系統是根據UID來識別戶身份的,UID在系統中具有全局唯一性,用數字標識,範圍是0-65535,分配如下:


   (1)管理員root:


        系統默認爲0,不可更改管理員的UID


   (2)系統用戶:


        系統默認分配(1-499:是Centos6及其以前版本),(1-999:是Centos7版本)的範圍,可以指定。


   (3)普通用戶:


        系統默認分配(500以上:Centos6及其以前版本),(1000以上:Cent7版本)的範圍,可以指定。


4.組分類:


    爲了便於對用戶的管理和授權,需要用到組,組相當於用戶的容器。類型區別如下:1)


   (1)基本組:


        又叫用戶的主組,在系統中如果創建用戶不指定主組,默認創建一個跟用戶名同名的主組,也叫用戶的私有組。


   (2)附加組:


        用戶可以是多個組的成員,系統默認用戶只有一個主組,可以有多個附加組。


   (3)系統組:


        爲了便於管理系統用戶分配的組。


   (4)管理員組:


        默認root,管理員需要用到的組。


5.GID:


   系統識別組是根據GID,也具有系統全局唯一性,也是數字標示,跟用戶分配方案一樣,管理員root組默認爲0.系統默認分配(1-499或1-999),主組和附加組默認分配(大於等於500或1000以上)的範圍。可以指定。


6.用戶的配置文件:


   (1)/etc/passwd 用戶賬號信息的配置文件,默認用“:”分割的7個字段,文件的語法格式如下:(1-7)


        1.login name:用戶登錄名。


        2.passwd:密碼佔位符,爲了用戶密碼的安全,使用影子文件/etc/shadow文件保存用戶密碼,“x”密碼佔位符。


        3.UID:用戶的uid。


        4.GID:用戶的組的gid。


        5.COMMENT:用戶描述信息。


        6.HOME:用戶的家目錄位置,一般默認在/home/username(跟用戶同名的家目錄)。


        7.SHELL:用戶默認使用的shell類型,默認使用/bin/bash,可以使用cat /etc/shells 查看系統默認支持的shell類型,使用echo "$SHELL"可以查看當前用戶的shell類型。


   (2)/etc/shadow 用戶名密碼信息配置文件,格式跟用戶名文件相同,只是相應的字段意義有所改變,文件語法如下:(1-9)


        1.login name:用戶名。


        2.encrypted password:

   用戶密碼,裏面用“$xxx$xxx$xxxx”第一個xxx標示使用的加密算法,“$6”標示爲sha512,“$1標示爲MD5”。第二個xxx標示salt:鹽,雜質,防止不同用戶使用相同密碼能夠破解密碼。第三個xxx標示爲真正的加密後的16進制密碼。如果僅僅是是:“!”“!!”表示鎖定,“ ”空密碼系統不允許用戶登錄。


        3.date of last password change:


         最後一次的密碼修改時間,這裏指距離1970-1-1到最近的一次密碼修改時間


        4.minimum password age:


        最短密碼使用期限,在這段時間內,普通用戶不允許更改密碼。


        5.maximum password age


         最長密碼使用期限。


        6.password warning period


         密碼到期警告期限,在最長密碼使用期限之前的時間,可以登錄。


        7.password inactivity period


         密碼非活動時間,指超過密碼最長使用期限後允許更改密碼的時間。如果在超過密碼非活動時間,賬號鎖定,用戶將不能登錄。


        8.account expiration date:


         賬號過期時間,對用戶賬號限制的使用時間。


        9.reserved field


         保留字段。


7.組的配置文件:


   (1)/etc/group 組用戶信息的配置文件.格式用“:”分割字段,具體語法如下:(1-4)


        1.group name:


         組名。


        2.passwd:


         密碼佔位符,爲了安全起見,也使用影子文件/etc/gshadow保存密碼。


        3.GID:


          組的標示gid.


        4.user_list


         用戶列表,指加入此組的組成員用戶。


   (2)/etc/gshadow 組密碼的配置文件,也使用“:”分割字段。(1)


        1.group name:


         組名。


        2.encrypted passwd:


         加密後的16進制密碼,格式同用戶密碼格式一樣。


        3.administrators


         組管理員用戶,管理員可以更改密碼或該組的成員。


        4.member


         組成員。


         useradd [options] username 


       3.常用選項[options]:


         -u:指定用戶的uid.


         -g:指定用戶的主組。


         -G:指定用戶的附加組。


         -c:添加用戶的描述信息


         -d:指定用戶的家目錄,-m是默認指定在/home/下。


         -s:指定用戶的登錄使用的默認shell.默認爲/bin/bash。


         -f:賬號的有效時間,過期鎖定。


8.用戶管理命令:


   (1)添加用戶:


       1.useradd


       2.語法格式:


         -p:指定用戶名的密碼


         -D:默認預設值。


         -r:直接指定創建的用戶爲系統用戶。


 


   (2)添加用戶密碼:


        1.passwd


        2.語法格式:


         passwd [options] username


         passwd username 交互式修改用戶密碼,管理員root可以隨意修改。


         passwd 直接回車,默認修改當前用自己的密碼


        3.常用選項[options]


         -l:鎖定用戶。


         -u:解鎖用戶。


         -e:強制用戶下次登錄時必須修改密碼。


         -n:指定密碼最短使用期限。


         -x:指定密碼最長使用期限。


         -i:非活動密碼期限。


         –stdin:從標準輸入接受用戶密碼:格式如下:


           echo "passwd" |passwd –stdin username 


   (3)修改用戶屬性:


        1.usermod


        2.語法格式:


         usermod [optons] username 


        3.常用選項[optons]:


         -u:更改用戶的uid,配合-o不檢查uid.


         -g:更改用戶的主組。


         -G:更改用戶的附加組,配合-a指不覆蓋已有的附加組。


         -s:更改用戶的shell


         -l:更改新登錄名


         -L:鎖定用戶。


         -U:解鎖用戶。


         -d:更改家目錄,要遷移家目錄需要配合-m.


       


       更改用戶shell命令


        1.chsh


        2.語法格式:


         chsh [options] username


        3.常用選項[options]


         -s:更改系統默認s預設hell.echo "$SHELL"也可以查看當前用戶shll。


         -l:查看系統支持的shell類型,cat /etc/shells也可以查看當前系統支持的shell類型。


       


       更改用戶Comment描述信息:


        1.chfn


        2.語法格式


         chfn 直接回車修改當前用戶Comment信息。


         chfn username 直接指定用戶Comment信息。


        3.查看chfn填寫的信息:


         使用finger username 命令語法格式。 


          


       修改用戶密碼策略:


        1.chage


        2.語法格式:


         chage [options]  username


        3.常用選項[options]


         -d: -d 0 強制用戶下次登錄重設密碼。


         -l:顯示用戶密碼策略。


       


        查看用戶賬號信息:


        1.id


        2.語法格式:


         id [options] [user]


        3.常見選項:


         -u:查看uid


         -n:查看用戶名。


         -g:查看基本組


         -G:查看附加組


        


        查看用戶所屬的組:


        1.groups


        2.語法格式:


          groups username 


        


   (4)刪除用戶:


        1.userdel


        2.語法格式:


         userdel [options] username


        3.常用選項[options]:


         -r:刪除用戶的同時,刪除用戶的家目錄。


   (5)檢查語法


       1.使用語法檢查格式編輯配置用戶文件命令

          vipw


       2.檢查用戶配置文件語法格式命令:


          pwck


   (6)批量創建用戶:


      配置用戶格式:


         newuser user-file 


        user-file:這個文件語法格式跟/etc/passwd/一樣.


      配置密碼格式:


          cat passwd-file |chpasswd 


      passwd-file:文件內的語法格式如下:


         loginname:passwd


     


9.組管理命令:


   (1)創建組


       1.groupadd


       2.語法格式:


         groupadd [options] groupname


       3.常用選項[optons]:


         -r:創建組爲系統組。


         -g:指定GID.


   (2)修改組屬性:


       1.groupmodd


       2.語法格式:


         groupmod [options] groupname


       3.常用選項[optons]


        -n:更改組名。


        -g:更改GID


   (3)刪除組:


       1.groupdel


       2.語法格式:


         groupdel groupname


   (4)添加組密碼:


       1.gpasswd


       2.語法格式:


         gpasswd [options] groupname


       3.常用選項[options]


         直接回車交互輸入密碼


         -a:添加成員用戶。


         -d:刪除成員用戶。


         -A:設置具有組管理權限的用戶。


   (5)語法格式檢查:


       使用語法檢查格式編輯配置組文件命令


          vigr


       檢查用戶配置文件語法格式命令:


         grpck


    (6)用戶名文件和密碼文件同步命令

        preconv

        

        注意:如果/etc/shadow 不存在就根據/etc/passwd創建;如果存在就跟/etc/passwd文件中的記錄比對;沒有就添加,有多餘就刪除;   


10.常見問題補充:


   (1)Linux的安全上下文是怎樣的?


        1.程序要想運行必須放在內存中,放在內存中的程序叫進程。


        2.進程運行的身份是以進程發起者(用戶),這也意味着相應的權限也就是發起者的權限。


   (2)組不用登陸系統爲什麼也要設置密碼?


        原因是用戶操作系統發起進程,屬組的權限應該是自己的屬組的權限,這時想要創建文件變更屬組,使用newgrp切換當前用戶的屬組,如果當前用戶也是切換後屬組的成員可以不用輸入密碼爲了安全起見切換其他組必須需要使用密碼,默認空密碼不給切換。


   (3)目前系統密碼使用的加密算法有什麼特點?


       目前Centos7使用的sha512位的加密算法,屬於單項加密,特點是提取密碼特徵碼,不可逆。密碼安全相對性比較高。


                


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章