1. 程式人生 > >Linux學習 - 用戶和用戶組管理

Linux學習 - 用戶和用戶組管理

sbin 顯示 環境 刪除用戶 9.png 用戶管理 pan idt 解鎖

一、用戶配置文件

  1 用戶信息文件 /etc/passwd

      vim /etc/passwd

      技術分享圖片

      第一字段:用戶名

      第二字段:密碼標誌(x表示有密碼)

      第三字段:用戶ID(UID) 

           0:        超級用戶

           1-499:      系統用戶(偽用戶)

           500-65536:    普通用戶

      第四字段:用戶初始組ID(GID)

           初始組:指用戶一登入就立刻擁有這個組的相關權限,每個用戶初始組只有一個,一般以用戶名作為這個 用戶初始組的組名。

           附加組:用戶可加入多個附加組,並擁有這些組的權限

      第五字段:用戶說明

      第六字段:家目錄

           超級用戶家目錄:/root/

           普通用戶家目錄:/home/用戶名/

      第七字段:登入之後的shall

           shell是Linux的命令解釋器

           /bin/bash    允許登入

           /sbin/nologin   不允許登入

  2 影子文件 /etc/shadow

      vim /etc/shadow

 技術分享圖片

      第一字段:用戶名

      第二字段:加密密碼

           SHA512散列加密算法

           如果密碼位是 “ !! ” 或 “ * ”,代表沒有密碼,不能登入

      第三字段:密碼最後一次修改日期

           使用1970.1.1作為標準時間,每過一天時間戳加1

時間戳換算
日期->時間戳 echo $(($(date --date="2014/01/06" + %s)/86400 + 1))
時間戳->日期 date -d "1970-01-01 16066 days"

      第四字段:兩次密碼修改間隔

      第五字段:密碼有效期

      第六字段:密碼有效期到期前的警告天數

      第七字段:密碼有效期到期後的寬限天數

           0:代表密碼過期後立即失效

           -1:代表密碼永遠不會失效

      第八字段:賬號失效時間(時間戳表示)

      第九字段:保留

  3 組信息文件 /etc/group

      vim /etc/group

      技術分享圖片

      第一字段:組名

      第二字段:組密碼標誌

      第三字段:組ID(GID)

      第四字段:組中附加用戶

  4 組密碼文件 /etc/gshadow

      vim /etc/gshadow

      技術分享圖片

      第一字段:組名

      第二字段:組密碼

      第三字段:組管理員用戶名

      第四字段:組中附加用戶

二、用戶管理相關文件

  1 用戶的家目錄

      普通用戶:/home/用戶名/

      超級用戶:/root/

  2 用戶的郵箱文件

      /var/spool/mail/用戶名

  3 用戶模板目錄

      /etc/skel/

      用於保存創建新用戶時自動生成的文件,例如在該目錄下新建文件notice.msg則在建立新用戶時會自動建立notice.msg文件

  4 添加用戶默認值文件

      /etc/default/useradd

GROUP=100 用戶默認組
HOME=/home 用戶家目錄
INACTIVE=-1 密碼過期寬限天數
EXPIRE= 密碼失效時間
SHELL=/bin/bash 默認shell
SKEL=/etc/skel 模板目錄
CREATE_MAIL_SPOOL=yes 是否建立郵箱

      /etc/login.defs

PASS_MAX_DAYS 99999 密碼有效期
PASS_MIN_DAYS 0 密碼修改間隔
PASS_MIN_LEN 5 密碼最小5位
PASS_WARN_AGE 7 密碼到期警告時間

UID_MIN 500

UID_MAX 6000

最小最大UID範圍
ENCRYPT_METHOD SHA512 加密模式

三、用戶管理命令

  1 添加用戶

      useradd [-udcgGs] 用戶名

        -u  UID

        -d  家目錄

        -c  用戶說明

        -g  組名(初始組)

        -G  組名(附加組)

        -s  命令解釋器shell(默認/bin/bash)

      例:useradd -u 666 -G root,bin -c "test user" -d /home/zhw -s /bin/bash zhw

  2 修改用戶密碼

      passwd [選項] [用戶名]

      例:

        passwd -S user1      查詢user1密碼的密碼狀態(僅root用戶)

        passwd -l user1       暫時鎖定用戶(僅root用戶)

        passwd -u user1      解鎖用戶(僅root用戶)

        echo “123” | passwd --stdin  使用字符串作為用戶的密碼

  3 修改用戶信息

      usermod [-ucgGdLU] [用戶名]

        -u  UID

        -d  家目錄

        -c  用戶說明

        -g  組名(初始組)

        -G  組名(附加組)

        -s  命令解釋器shell(默認/bin/bash)

        -L  鎖定用戶

        -U  解鎖用戶

  4 修改用戶密碼狀態

      chage [-ldmMWIE] 用戶名

        -l   列出用戶詳細密碼狀態

        -d  修改密碼最後一次更改日期(當-d 0 要求用戶一登入就要修改密碼

        -m  兩次密碼修改間隔

        -M  密碼有效期

        -W  密碼過期前警告天數

        -I   密碼過期後寬限天數(i)

        -E   賬號失效時間

  5 刪除用戶

      userdel [-r] 用戶名

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

  6 查看用戶id

      id 用戶名  可查看用戶的uid、gid和所屬組

  7 查看當前是哪個用戶

      whoami

  8 查看用戶環境變量

      env

  9 用戶切換

      su - 用戶名          將用戶的環境變量一起切換

      su - root -c "useradd user2"   使用root的權限添加一個用戶user2

  10 查看登入用戶信息

      who

       顯示:登入用戶名  登入終端  登入時間

          tty   表示本地終端

          pts  表示遠程終端

  11 查看登入用戶詳細信息

      w

       顯示:當前時間  連續運行時間(uptime)  用戶數  負載均衡指數

      登入用戶名—登入終端—登入IP地址—登入時間—空閑時間—累計占用CPU時間—當前CPU時間—工作命令

四、用戶組管理命令

  1 添加用戶組

      groupadd [-g] 組名

        -g  指定組ID

  2 修改用戶組

      groupmod [-gn] 組名

        -g  修改組ID

        -n  修改組名

      例:groupmod -n g2 g1  將組g1的名字修改為g2

  3 刪除組

      groupdel 組名

      註:不能刪除用戶的初始組,要先刪除用戶然後刪除組,但是用戶的附加組可刪除

  4 將用戶添加入組或從組中刪除

      gpasswd -a 用戶名 組名  將用戶加入組

      gpasswd -d 用戶名 組名  將用戶從組中刪除

Linux學習 - 用戶和用戶組管理