1. 程式人生 > >用戶及組的介紹

用戶及組的介紹

linux 中的用戶及組的介紹

linux用戶:

管理員:root, UID號為:0
普通用戶: 1-65535

            系統用戶:1-499(centos6),1-1000(centos7)

             登錄用戶:500+(centos6), 1000+(centos7)

linux組:

管理員組:root, UID號為:0
普通組: 

            系統組:1-499(centos6),1-1000(centos7)

             普通組:500+(centos6), 1000+(centos7)

linux組的類別

         用戶的主要組(primary group)

                     用戶必須屬於一個且只有一個主組,組名同用戶名

            用戶的附加組(supplementary group)

             一個用戶可以沒有或有多個附加組

linux 用戶和組的主要配置文件:
  
/etc/passwd (root:x:0:0:root:/root:/bin/bash)

                     name:用戶名

                    password:密碼位,pwconv 密碼被映射到了/etc/shadow

                    uid: 

                    gid:
                    gecos:描述位

                    home: 家目錄

                    shell: 默認為/bin/bash 如果設置為/sbin/nologin 表示不可以交互式登錄

      /etc/shadow      (root:$6$4uOWPgUw$kAWs8f8m9EXMbdxLS1:17675:0:99999:7:::)

                       name:用戶名

                      password:$6$salt$password

                      密碼上一次的修改時間:

                      密碼的最小存活期:在這個時間到達之前,不能改密碼

                      密碼的最大存活期:密碼的過期時間

                      密碼過期前多少天警告:

                      密碼過期後多少天觸發帳戶過期:

                     帳戶過期時間:從1970-1-1開始計算

                   保留位

    chage 
               Options:
                        -d, --lastday LAST_DAY        修改密碼上一次的修改時間

                        -E, --expiredate                     EXPIRE_DATE  設置密碼的過期時間

                        -I, --inactive INACTIVE       設置密碼過期之後多少天觸發帳戶過期

                       -l, --list                    列出信息

                       -m, --mindays MIN_DAYS        設置密碼的最小存活期

                       -M, --maxdays MAX_DAYS        設置密碼的最大存活期

                       -W, --warndays WARN_DAYS      設置密碼過期之前多少天提醒用戶

          /etc/group  (root:x:0:gentoo)

                   組名稱

                  組密碼:x表示 grpconv 組密碼被映射到了/etc/gshadow

                  組ID

                  組成員:作為附加組的成員列表,以逗號分隔

        /etc/gshadow

                   組名稱

                   組密碼

                   組管理員:以逗號分隔,可以修改組密碼以及修改組成員

                   組成員:作為附加組的成員列表,以逗號分隔

        添加用戶

               useradd [options] LOGIN

            -u UID 

            -o 配合-u 選項,不檢查UID的唯一性

            -g GID/GROUP NAME:指明用戶所屬基本組,可為組名,也可以GID

            -c "COMMENT":用戶的註釋信息

            -d HOME_DIR: 以指定的路徑(不存在)為家目錄   確保指定目錄的目錄名要存在,而基名不要存在

            -s SHELL: 指明用戶的默認shell程序,默認不指定是為/bin/bash

            -G GROUP1[,GROUP2,...]:為用戶指明附加組,組須事先存在

            -N 不創建私用組做主組,使用users組做主組

            -r: 創建系統用戶 CentOS 6: ID<500,CentOS 7: ID<1000

            -m 創建家目錄,用於系統用戶

            -M 不創建家目錄,用於非系統用戶

        手工創建家目錄

            mkdir /home/magetest

            cp -r /etc/skel/.[^.]* /home/magetest

            chown -R magetest.magetest /home/magetest

            chmod -R 700 /home/matgtest

    添加用戶的默認配置文件 (/etc/default/useradd)  

              GROUP=100

              HOME=/home

              INACTIVE=-1

              EXPIRE=

              SHELL=/bin/bash

              SKEL=/etc/skel

              CREATE_MAIL_SPOOL=yes

    修改用戶的相關屬性   

             usermod [OPTION] login

           -u UID: 新UID

           -g GID: 新主組

           -G GROUP1[,GROUP2,...[,GROUPN]]]:新附加組,原來的附加組將會被覆蓋;若保留原有,則要同時使用-a選項

           -s SHELL:新的默認SHELL

           -c ‘COMMENT‘:新的註釋信息

           -d HOME: 新家目錄不會自動創建;若要創建新家目錄並移動原家數據,同時使用-m選項

           -l login_name: 新的名字;

           -L: lock指定用戶,在/etc/shadow 密碼欄的增加 ! 

           -U: unlock指定用戶,將 /etc/shadow 密碼欄的 ! 拿掉

           -e YYYY-MM-DD: 指明用戶賬號過期日期

           -f INACTIVE: 設定非活動期限

刪除用戶及其家目錄
     userdel -r 用戶名

    
passwd [OPTIONS]   UserName: 修改指定用戶的密碼,僅root用戶權限

         passwd: 修改自己的密碼

    常用選項:

               -l:鎖定指定用戶

               -u:解鎖指定用戶

               -e:強制用戶下次登錄修改密碼,相當於chage -d 0

                               [tom@centos7(mit) ~]$ su - leij
                                Password: 
                                You are required to change your password immediately (root enforced)
                                Changing password for leij.
                                (current) UNIX password: 
                                New password: 
                                Retype new password: 
                                 Sorry, passwords do not match.
                                New password: 
                                Retype new password: 
                                Last login: Sat Jun  2 10:28:51 CST 2018 on pts/0
                                Last failed login: Sat Jun  2 10:30:48 CST 2018 on pts/0
                                There was 1 failed login attempt since the last successful login.

                --stdin:從標準輸入接收用戶密碼

                   echo "PASSWORD" | passwd --stdin USERNAME

        groupadd 
            -g GID GNAME
            -r GNAME
  groupdel GNAME

gpasswd
Options:

               -a, --add USER                增加單個用戶到指定組當中(組管理員可執行)

               -d, --delete USER             從指定組中刪除單個用戶(組管理員可執行)

               -r, --delete-password         將指定組的組密碼刪除(組管理員可執行)

              -R, --restrict                限制組成員訪問該組

               -M, --members USER,...        一次性設置組成員(僅root執行)

               -A, --administrators ADMIN,... 設置組管理列表(root執行)

newgrp groupname

用戶會打開一個子shell,在這個子shell下,該用戶的主要組切換為該組,若該用戶本不屬於該組,則要輸入組密碼,若該組屬於用戶的附加組之一,則無需輸入碼。

groupmems

                 -g GNAME

                 -a  USERNAME 加用戶加入到指定組

                 -d  USERNAME 把用戶從指定組刪除

                 -p  清除該組的所有成員

                 -l  列出組成員列表 

groups USERNAME

查看用戶屬於哪些組(包含主要組)

chown 僅root才能執行

           USERNAME FILENAME/DIRNAME

              所屬人修改文件的權限

                                -R 遞歸修改

                              .|: GNAME FILENAME/DIRNAME 修改所屬組

                                如:chown .tom test 或 chown :tom test

                                USERNAME.|:GNAME FILENAME/DIRNAME 同時修改文件的所屬人及所屬組

                                 如: chown tom.tom test  或 chown tom:tom test 

                                --reference= FILENAME/DIRNAME 將指定文件的從屬關系設置為與指定文件相同

                                     如: -rw-rw-r--. 1 leij leij 0 Jun  2 10:56 test

              -rw-r--r--. 1 root root 0 Jun 2 11:09 testb

                                      chown --reference=testb test

                                        -rw-rw-r--. 1 root root 0 Jun  2 10:56 test
                                        -rw-r--r--. 1 root root 0 Jun  2 11:09 testb

chgrp 僅root和文件的所屬人可以更改文件的所屬組(但所屬人一定要屬於目標組)、

             GNAME FILENAME/DIRNAME

               -R 遞歸修改

用戶及組的介紹