Linux用戶和組管理整理

本節介紹Linux用戶和組相關的配置文件,用戶賬號管理、查詢用戶信息以及切換用戶的相關命令,將會讓我們更了解各配置文件中各個字段的含義,以及各相關命令的使用方法,方便Linux運維人員管理Linux系統中的用戶和組。


背景:

Linux是個多用戶、多任務的系統,考慮到每個人的隱私權、每個人喜好的工作環境以及每個用戶所使用的權限等方面的不同,所以設定了“用戶”來管理各自用戶的權限。

一、用戶和用戶組相關的配置文件管理

  • /etc/passwd:用戶的賬號信息 

  • /etc/group:組的賬號信息

  • /etc/shadow:用戶密碼和相關的賬號設定

  • /etc/gshadow:組的密碼信息

        (1)/etc/passwd文件

    文件中共包含了7個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義

        account : password     :  UID    :  GID   :    GECOS     :  directory   :       shell

   登陸名  :    密碼符    :  用戶ID  :  組ID  :   注釋信息  :  家目錄      :  用戶默認shell

備注:用戶可以加入不止一個組:基本組一個,附加組(也稱額外組)可包含多個。

        (2)/etc/group

              文件中共包含了4個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義

                 group_name  :  passwd  :  GID  :  user_list

                    組名     : 密碼符  :  GID  :  以都好分割屬于此組(以之作為額外組)的用戶列表

        (3)/etc/shadow

              文件中共包含了7個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義

                    用戶名 : 加密的密碼 : 最近一次修改密碼的時間 : 密碼最短使用期限 : 密碼最長使用期限 : 密碼過期警告區間 : 密碼非活動期限 : 賬號過期期限 : 保留區域

        (4)/etc/gshaow   

              文件中共包含了4個字段,分別使用 : 隔開。下面介紹各個字段所代表的含義

                  group_name  :   password    :    administrator   :    members

                    組名      :    密碼符     :   用戶組的管理員   :    組的成員  

二、用戶賬號管理相關命令(這里僅列出去常用命令和參數,詳細請查man)

  • useradd      :新增用戶

  • groupadd     :新增組

  • passwd       :修改用戶密碼

  • gpasswd      :修改組密碼

  • userdel      :刪除用戶

  • groupdel     :刪除組

  • usermod      :修改用戶賬號

  • groupmod     :修改組賬號

  • chsh         :修改用戶的shell

  • chfn         :修改注釋信息

  • chage        :修改密碼時效

        (1)useradd

     -u UID :指定UID

     -g GID :指定所屬的基本組

     -G GID : 指定所屬的附加組 

     -c 'COMMENT' :注釋信息

     -d /path/to/somewhere :指定家目錄,如果此目錄事先存在,會有警告信息

       備注:在家目錄中其實會有一些文件

        例如:ls -a /home/user1  ————>  .  ..  .bash_logout  .bash_profile  .bashrc

         這些文件是從系統/etc/skel 下拷貝過來的

     -s SHELL :指定SHELL,SHELL必須是在/etc/shells文件中存在的shell

      備注 /etc/shells是系統中支持的shell

        其中/sbin/nologin 表示不給用戶登錄 

     -m :強制給用戶創建家目錄

     -M :不給用戶創建家目錄

     -r :創建系統用戶

        (2)groupadd

     -g GID:指定GID

     -r :系統組

        (3)passwd

普通用戶僅能修改自己的密碼

          管理員 能修改全部用戶的密碼

      passwd [username]

       –stdin : 不需要交互式輸入密碼

    -l :鎖定用戶

    -u :解鎖用戶

        (4)gpasswd

           gpasswd[-a user][-d user][-A user,…][-M user,…][-r][-R]groupname

              -a:添加用戶到組

              -d:從組刪除用戶

              -A:指定管理員

              -M:指定組成員和-A的用途差不多

              -r:刪除密碼

              -R:限制用戶登入組,只有組中的成員才可以用newgrp加入該組

                       備注:給組賬號設置完密碼以后,用戶登陸系統,使用newgrp命令,輸入給組賬號設置的密碼,就可以臨時添加到指定組,可以管理組用戶,具有組權限。格式:newgrp   【組名】

        (5)userdel 

userdel [options] USERNAME

    -r: 一并刪除用戶及家目錄

        (6)groupdel

          groupdel GRPNAME

        (7)usermod

usermod [options] USERNAME 

   -u UID : 修改UID 

   -g GID :修改用戶的基本組

   -G GID,….:修改用戶附加組;此選項通常跟-a一起使用,以最佳方式修改附加組,表示不覆蓋原有的附加組

    例子:usermod -a -G mygrp,testgrp user6

   -c COMMENT:指定注釋信息

   -d /path/to/somewhere :修改家目錄的位置;同時使用-m選項可保證創建家目錄,并將用戶原有的文件移動至新的家目錄中

   -s SHELL:修改SHELL

   -l LOGIN_NAME:修改用戶名

   -L :鎖定用戶

   -U :解鎖用戶

        (8)groupmod

   -g GID

   -n NEW_GRP_NAME

        (9)chsh 

           chsh USERNAME

        (10)chfn

           chfn USERNAME

        (11)chage

           chage[options] USERNAME

     實例截圖:

        (1)useradd

Linux用戶和組管理整理Linux用戶和組管理整理        Linux用戶和組管理整理

        Linux用戶和組管理整理

        (2)groupadd

Linux用戶和組管理整理        3.png

        (3)passwd

Linux用戶和組管理整理        Linux用戶和組管理整理

        (4)gpasswd

        Linux用戶和組管理整理

        Linux用戶和組管理整理

        (5)userdel

Linux用戶和組管理整理        111.png

        (6)groupdel

Linux用戶和組管理整理        222.png

        (7)usermod

Linux用戶和組管理整理        Linux用戶和組管理整理

        (8)groupmod

Linux用戶和組管理整理        Linux用戶和組管理整理

        (9)chsh

Linux用戶和組管理整理        Linux用戶和組管理整理

        (10)chfh

Linux用戶和組管理整理        Linux用戶和組管理整理

Linux用戶和組管理整理        Linux用戶和組管理整理

        (11)chage

Linux用戶和組管理整理        Linux用戶和組管理整理

三、查詢用戶信息相關命令    

  • id           :顯示用戶信息

  • who       :顯示目前登入系統的用戶信息

  • whoami :顯示自身的用戶名稱

  • finger     :查詢用戶的相信信息,例如用戶的用戶名、主目錄、停滯時間、登錄時間、登錄shell等信息

(1)id

    id USERNAME

           -g:顯示用戶所屬的基本組

      -G:顯示用戶所有組(默認顯示數字)

      -n:顯示名稱

      -u:顯示UID

(2)who

    who [option]

      -H :顯示各欄位

(3)whoami

   whoami [–help][–version] 

(4)finger

   finger [-lmsp] [user …] [user@host …]

          -l :  多行顯示來描述信息,例如關于用戶家目錄,家庭電話,登錄腳本等內容

實例截圖:

(1)id

Linux用戶和組管理整理

(2)who

Linux用戶和組管理整理Linux用戶和組管理整理

(3)whoami

Linux用戶和組管理整理Linux用戶和組管理整理

(4)finger

Linux用戶和組管理整理18.png

四、切換用戶命令

su: switch user

     su [OPTIONS] USERNAME 

    -l:完全切換 ,l可省略

備注:如果不使用“-l”切換用戶,只是切換了過去,但其實環境變量,家目錄都沒有改變。

-c 'COMMAND':僅以指定用戶運行命令,并取回結果(一般用于腳本中)

例子:su wqp -c 'ls'  ————> fstab

表示并不切換賬號而執行某個命令

實例截圖:

Linux用戶和組管理整理Linux用戶和組管理整理

Linux用戶和組管理整理

五、命令總結

(1)用戶和用戶組相關的配置文件管理: /etc/passwd , /etc/group , /etc/shadow ,/etc/gshadow

(2)用戶賬號管理相關命令 : useradd , groupadd , passwd , gpasswd , userdel , groupdel , usermod , groupmod , chsh , chfn , chage

(3)查詢用戶信息相關命令: id , who,whoami,finger

(4)切換用戶命令: su


原創文章,作者:螃蟹,如若轉載,請注明出處:http://www.www58058.com/5234

(0)
螃蟹螃蟹
上一篇 2015-06-15 16:40
下一篇 2015-06-15 18:24

相關推薦

  • N25-第9周博客作業

    1、寫一個腳本,判斷當前系統上所有用戶的shell是否為可登錄shell(即用戶的shell不是/sbin/nologin);分別這兩類用戶的個數;通過字符串比較來實現; #!/bin/bash # 統計登錄用戶和非登陸用戶的個數 # author: han declare -i loginnum=0 declare -i nologinnum=0 whil…

    Linux干貨 2017-03-10
  • N28-第一周

    1. 描述計算機的組成及其功能。
    2. 按系列羅列Linux的發行版,並描述不同發行版之間的聯繫與區別。
    3. 描述Linux的哲學思想,並按照自己的理解對其進行解釋性描述。
    4.說明Linux系統上命令的使用格式;詳細介紹ifconfig、echo、tty、startx、export、pwd、history、shutdown、poweroff、reboot、hwclock、date命令的使用,並配合相應的示例來闡述。
    5.如何在Linux系統上獲取命令的幫助信息,請詳細列出,並描述man文檔的章節是如何劃分的?
    6.請羅列Linux發行版的基礎目錄名稱命名法則及功能規定。

    Linux干貨 2017-12-04
  • CentOS 6啟動過程總結與GRUB問題修復

    一、CentOS 6 的啟動流程 第一步:加電自檢(POST) 主要檢查硬件設備是否存在并能正常運行,如:CPU、內存、硬盤、風扇、輸入輸出設備等。自檢功能主要是通過BIOS來實現的,BIOS程序是裝載在一個硬件芯片CMOS上的,加電過程就是給CMOS通電,然后啟動BIOS程序,BIOS程序會根據CMOS上面的一些配置信息區讀取其他的硬件設備信息并檢測其是否…

    Linux干貨 2016-09-16
  • 磁盤管理

    磁盤設備 一切皆文件 所有的Linux中的設備都可以使用下面命令進行操作:open(), read(), write(), close()(這些是C的函數) 塊設備:隨機訪問 字符設備:線性訪問 設備號碼: 主設備號:major number,標識設備類型 8是主要設備編號,代表類型 次設備號:minor number…

    Linux干貨 2016-09-01
  • 很認真的第十三周作業哦

    1、建立samba共享,共享目錄為/data,要求:(描述完整的過程) mkdir /data #建立共享目錄 1)共享名為shared,工作組為magedu vim /etc/samba/smb.conf 修改 workgroup = MYGROUP 為 workgroup = magedu 修改 passdb backend = tdbsam 為 pas…

    Linux干貨 2017-03-27
  • 馬哥教育網絡21期+第十一周練習博客(下)

    馬哥教育網絡21期+第十一周練習博客(下) 3、描述DNS查詢過程以及DNS服務器類別。 DNS:Domain Name Service 通俗的稱為地址解析,使用TCP和UDP的53端口,是屬于應用層的協議; DNS查詢有2種方式:     遞歸查詢:至發送一次請求,就能找到最終的結果的查…

    Linux干貨 2016-09-26
欧美性久久久久