用户及组的介绍

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了用户及组的介绍相关的知识,希望对你有一定的参考价值。

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

                               [[email protected](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 递归修改

以上是关于用户及组的介绍的主要内容,如果未能解决你的问题,请参考以下文章

网络操作系统 第二章 用户和组管理

linux用户及组相关命令

Linux系统下用户与组的管理

Linux系统下用户与组的管理

CentOS 7 用户及权限管理

linux-用户及组管理