1. 用户的概念

      用户使用账号登入Linux系统时,系统要对该账户进行3A认证,确认账户的身份,进行授权并且进行行为的审计。

    3A: Authentication 认证   Authorization 授权  Accounting/Audition审计

  2. 用户及组分类

      系统管理员:root  0

      普通用户:1-65535

          系统用户:1-499(centos6)   1-999(centos7)

          登录用户:500+(centos6)    1000+(centos7)

    用户组与权限管理的理解及切换用户相关命令使用_命令

    用户组与权限管理的理解及切换用户相关命令使用_用户_02

                  图1-1  CentOS6

      管理员组: root 0

      普通组:

          系统组:1-499(centos6) 1-999(centos7)

          普通组:500+(centos6) 1000+(centos7)

    用户组与权限管理的理解及切换用户相关命令使用_管理_03

    用户组与权限管理的理解及切换用户相关命令使用_命令_04

                  图1-2  CentOS7

  3. Linux组的类别

      用户的主组:

          用户必须属于一个且只有一个主组

          组名同用户名,且仅包含一个用户:私有组



      用户组与权限管理的理解及切换用户相关命令使用_用户_05

              图2-1  用户的主组

      用户的附加组:

          一个用户可以属于零个或多个辅助组

      用户组与权限管理的理解及切换用户相关命令使用_用户_06

                  图2-2 用户的辅助组


  4. 用户和组的配置文件

      a./etc/passwd:用户及其属性信息

    用户组与权限管理的理解及切换用户相关命令使用_用户_07

                    图3-1 passwd文件

      passwd文件的组成部分:

        username:password:uid:gid:gecos:home directory:shell

        用户名:密码:UID: GID:注释信息:家目录:使用的shell(/bin/bash)

        :在以前的较早版本中,密码是存放在此文件中,采用md5加密,任何可以读取该文件的用户都可以看到加密的密码,随着技术发展,md5加密已经不安全,所以之后版本都将passwd中的加密密码数据用x表示,真实的存放地址放到了shadow文件中并且密码也采用了更加复杂sha512加密,并且设置了严格的权限,加强了系统的安全性


      b./etc/shadow:组及其属性信息

    用户组与权限管理的理解及切换用户相关命令使用_命令_08                      图3-2 shadow文件

     shadow文件的组成部分:

     name:password:lastdate:minday:maxday:warnday:inactiveday:expirationday:

     用户名:密文密码:最后修改时间:最小时间:最大时间:警告时间:不活跃时间:过期时间:保留字段

       :shadow文件又称影子文件,一般用户并没有权限进行查看,只有管理员root(uid=0)才有权查看,密文密码以$进行分割,第一数字表示采用的哪种类型的加密算法,如6表示sha512加密算法,第二个$表示salt,即随机数,这样可以防止通过一样的密文同算出密码,加了salt,即使是同样的密码,也会因为随机数的不同产生不同的密文,加强了密码的安全性,后面的参数是对密码有效期,过期期限及警告时间等等的设置。

    用户组与权限管理的理解及切换用户相关命令使用_管理_09                 3-3 shadow文件时间线 


      c./etc/group:用户密码及其属性信息

    用户组与权限管理的理解及切换用户相关命令使用_用户_10

          图3-4 group文件

      group文件的组成部分:

      groupname:password:gid:userlist

      组名:组密码:GID:组中成员

      注:组文件类似于passwd文件,不过该文件中是用来存放组数据的,它包含了四部分,组名-密码-gid-成员列表,处于和passwd一样安全性的考虑,组文件的密码也不存放这其中,用x表示,成员列表记录的是以此组作为辅助组的用户,所以成员列表中可以用多个用户帐号。

  

  d./etc/gshadow:组密码及其相关信息

  用户组与权限管理的理解及切换用户相关命令使用_管理_11

         

图3-5 gshadow文件

    gshadow文件的组成部分: 

    group name:encrypted:administrator:members

   组名:加密密码:组管理员:组中成员

   注:gshadow文件中存放着组名,加密密码,组的管理员以及组成员,密码也是采用的sha512算法加密,组管理员可以对组进行设置密码,添加或删除组员等操作,但这边不建议设置组密码,因为设置了组密码,可以是组外成员有机会通过密码进入到组中,不设置密码,组外成员就没有输密码的机会,就无法通过密码进入到组中。组成员是以此组作为辅助组的成员,可以有零个或多个。

用户和组管理命令  用户管理命令  useradd: 添加用户

                 图4-1 useradd帮助文档

  useradd是一个系统管理命令,用来创建新用户或者更新新用户信息,下面是它的相关选项:    -u 指定UID 默认的定义在/etc/login.defs文件中                  图4-2 login.defs文件    -o 配合-u选项,不检查UID的唯一性    -g GID 指明用户所属的基本组,可以是组名,也可以是GID    -c 用户的注释信息    -d 指定用户的家目录的路径    -s 指定用户使用的shell    -G 指定用户的附加组    -N 不创建自己的主组,将用户添加到gid为100的user组中    -M 不创建家目录    -r 创建系统帐号    -D 显示默认参数          usermod:  userdel: 组账号管理命令  groupadd: groupmod: groupdel:切换用户命令su [option...][-][args...]su username:非登录式切换su - username:登录式切换设置密码password修改密码chage更改和查看组成员groupmems