Linux系统用户、组

1、资源分派:

 

       Authentication  认证

       Authorization   授权

       Accoutinglaudition  审计

 

2、用户和组账号概述:

 

       Linux系统中用户账号主要包括:

 

               超级用户 root  uid=0

               普通用户 users  uid=500+centos6);1000+centos7);

               程序用户  uid=1-499centos6);1-999centos7);

 

        注:普通用户和程序用户可分配的uidgid范围是:1—65535

 

3、Linux的安全上下文:

    

运行中的程序称为进程,进程所能够访问资源的权限取决于进程的运行者的身份;

       例:

          [root@centos6 ~]# /bin/cat  file1

          [root@centos6 ~]$ /bin/cat  file1

 

4、Linux的组类别:

       

        Linux系统中组账号主要包括:

 

               超级用户 root  gid=0

               普通用户 users  gid=500+centos6);1000+centos7);

               程序用户  gid=1-499centos6);1-999centos7);

 

        注:普通用户和程序用户可分配的uidgid范围是:1—65535

 

         组账号中每一个用户账号至少属于一个组,这个组称为该用户的基本组(主组),如果该用户同时还包括在其它的组中,则这些组称为该用户的附加组,一个用户可以属于零个或多个附加组(辅助组);

 

5、用户和组的配置文件:

 

     Linux用户和组的主要配置文件

 

      /etc/passwd :用于保存用户名称、宿主目录、登录shell等基本信息;

      /etc/shadow :用于保存用户的密码、账号有效期等信息;

      /etc/group   :组及其属性信息;

      /etc/gshadow :组密码及其相关属性;

 

6、/etc/passwd文件中的配置行格式

 

   blob.png

 

  Passwd文件的每一行内容中,包含了7个用冒号“:”分割的配置字段,从左至右各配置字段的含义如下:

 

      第一字段:用户账号的名称,也是登录系统时使用的识别名称;

      第二字段:经过加密的密码字串,或者密码占位符“x”;

      第三字段:用户账号的UID号;

      第四字段:所属基本组账号的GID号;

      第五字段:用户的全名,可填写与用户相关的说明信息;

      第六字段:宿主目录,即该用户登录后所在的默认工作目录;

      第七字段:登录shell等信息,用户完成登录后使用的shel

 

7、/etc/shadow文件中的配置行格式

 

   blob.png

 

 Shadow文件的每一行内容中,包含了9个用冒号“:”分隔得配置字段,从左到右各配置字段的含义分别如下:

 

      第一字段:用户账号名称;

      第二字段:使用sha512加密的密码字串信息,当为“*”或“!!”时表示此用户不能登录到系统,若该字段为空,则该用户无需密码即可登录系统;

     第三字段:上次修改密码的时间,表示从1970年1月1日算起到最近一次修改密码时间隔得天数;

      第四字段:密码的最短有效天数,自本此修改密码后,必须经过该天数后才能再次修改密码,默认值为0,表示不进行限制;

      第五字段:密码的最长有效天数;自本次修改密码后,经过该天数以后必须再次修改密码。默认值为99999 ,表示不进行限制;

       第六字段:提前多少天警告用户口令将过期,默认值为7;

       第七字段:在密码过期之后多少天内禁用此用户;

       第八字段:账号失效时间,此字段指定了用户作废的天数,默认值为空,表示账号永久可用;

       第九字段:保留字段,目前没有特定用途;

 

8、密码加密机制:

 

         加密:明文—–》密文

         解密: 密文—–》明文

 

单向加密:哈希算法,原文不同,密文必不同;

 

 常用加密算法:

    md5 、sha1、sha224、sha256、sha384、sha512

 

更改Linux系统加密算法命令:

 

 Authconfig     –passaglo=sha384  –update

 

9、密码的复杂性要求:

  

       *使用数字、大写字母、小写字母及特殊字符中的至少3种;

       *足够长

       *使用随机密码

       *定期更换,不用使用最近曾经使用过的密码;

 

10、/etc/group文件中的配置行格式

 

       blob.png 

             

      第一个字段:群组名称;

      第二个字段:群组密码,通常不需要设定,密码是被记录在/etc/gshadow;

      第三个字段:群组的GID号;

      第四个字段:以当前组为附加组的用户列表(分隔符为逗号);

 

11、/etc/gshadow文件中的配置行格式

 

       blob.png

 

        第一个字段:群组名称;

        第二个字段:群组密码;

        第三个字段:组管理用列表;

        第四个字段:以当前组为附加组的用户列表;

 

12、pwck命令:检查用户密码文件的完整性:

 

    主要对/etc/passwd/etc/shadow文件检查;

     例:

      [root@centos6 ~]# pwck

 

13、grpck命令:检查组用户密码文件的完整性

 

      主要对/etc/group/etc/gshadow文件检查;

      例:

       [root@centos6 ~]#grpck

 

14、用户和组管理命令:

 

     useradd命令:添加用户账号

 

      useradd [options] LOGIN

 

               -u:指定用户的uid号,要求该uid号未被其他用户使用;

               -o:配合-u选项,不检查uid的唯一性;

               -g:指定用户的基本组,可为组名,也可以是GID

               -c:用户的注释信息;

               -d:指定用户的宿主目录位置;

               -s:指定用户的登录shell

               -G:指定用户的附加组,组事先必须存在;

               -M:不建立使用者目录;

     useradd的默认值设定在:/etc/default/useradd

 

     显示或更改useradd默认设置:

       Useradd   -D

       useradd   -D  -s  /bin/csh  (更改useradd的默认shell

 

15、newusers命令批量创建用户:

 

       首先使用vim编辑一个/etc/passwd文件格式的文件

 

   [root@centos6 ~]# vim user.txt

 

  blob.png 

 

    使用newusers命令批量创建用户:

 

    [root@centos6 ~]# newusers  user.txt

 

16chpasswd命令:批量修改用户口令

 

    首先使用touch创建一个文件p.txt,在p.txt文件中写入对应的用户名和密码用“:”分隔开;

 

     [root@centos6 ~]#touch p.txt

     [root@centos6 ~]#vim  p.txt

 

    blob.png 

 

     [root@centos6 ~]# cat  p.txt  | chpasswd

 

17、Usermod命令:用户的属性修改:

 

 

          usermod [options] LOGIN

           

                    -u:修改用户的uid

                    -g:修改用户的基本组名;

                    -G:修改用户的附加组名;

                    -s:修改用户的登录shell

                    -c:‘comment’新的注释信息;

                    -d:修改用户的宿主目录位置;

                    -l:更改用户账号的登录名称;

                    -L:锁定用户账号;

                    -U:解锁用户账号;

                    -eyyyy-mm-dd指明用户账号过期日期;

                    -f:设定非活动期限;

 

18、userdel命令:删除用户账号

 

               userdel [options] LOGIN

                       -r:可以将该用户的宿主目录一并删除;

 

19、查看用户相关的id信息:

   

                  id [OPTION]… [USERNAME]

         

                    -uuid

                    -gGID

                    -Ggroups

                    -nname

 

20、su切换用户或以其他用户身份执行命令;

 

               su [OPTION]… [-] [USER [ARG]…]

 

                su   useranme :非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录;

 

                su  –  username :登录式切换,会读取目标用户的配置文件,切换至家目录,完全切换;

 

                root  su 至其他用户无需密码,非root用户切换时需要密码;

 

               su  –  username  -c  command

 

21、passwd命令设置密码:

 

             Passwd:修改自己的密码;

 

              passwd   [ options]  username 修改指定用户的密码,仅root用户有权限;

 

                         -l:锁定指定用户;

                         -u:解锁指定用户;

                         -e:强制用户下次登录修改密码;

                         -n:指定最短使用期限;

                         -x:指定最大使用期限;

                         -w:提前多少天开始警告

                          -i:非活动期限;

                          –stdin:从标准输入接受用户密码;

        echo redhat  | passwd   –stdin  username

 

22、chage命令:修改用户密码策略

 

          Chage  [option]  login

 

        下一次登录强制重设密码:

       

           Chage  -d  0  username      

  

   23chfn命令:指定个人信息

 

            blob.png

 

24chsh命令:用来修改设定用户的shell

 

        [root@centos6 ~]# chsh

 

        blob.png

25、groupadd命令:创建组账号

  

             groupadd [options] group

 

                       -g:指明GID号;

                       -r:创建系统组;

 

26groupmod命令:修改组属性

   

           groupmod [options] GROUP

   

                      -n:新组名;

                      -g:新组GID

 

27、groupdel命令:删除组账号

  

                groupdel  groupname

 

28、gpasswd命令:添加组账号

 

               gpasswd [option] group

                        

                          -a:添加用户到指定组;

                          -d:从指定组中移除用户;

                          -M:可以同时添加多个用户到指定组;

 

29groupmems命令:更改和查看组成员

 

         groupmems   [option] [action]

 

                        -g:更改为指定组;

                        -a:指定用户加入组;

                        -d:从组中删除用户;

                        -p:从组中清除所有成员;

                        -l :显示组成员列表;

原创文章,作者:zhengyibo,如若转载,请注明出处:http://www.178linux.com/27474

(0)
zhengyibozhengyibo
上一篇 2016-08-04
下一篇 2016-08-04

相关推荐

  • 鸟哥?马哥?靠边站!今天猫哥带你玩千万PV级别运维架构实战

    1.哼,从今天开始马哥linux,就是我猫哥的天下了!,马哥你奏凯! 我猫哥在此宣誓,从今以后马哥教育正式更名猫哥教育! 哼,信猫哥,得永生! 2.妹的,都好好给我学习,猫哥我盯着呢 3.猫哥我第一次出镜,给咱来个特写啊小伙,拍的好看了,猫哥就免费给你讲讲Linux运维之道。 4.哎哟,拍的还不赖,猫哥我算是45°角仰望星空了,来来,猫哥给你讲讲互联网运维架…

    Linux干货 2016-04-01
  • N22-第五周作业

    1、显示当前系统上root、fedora或user1用户的默认shell;  egrep "^(root|fedora|user1)" /etc/passwd|awk -F: '{printf "%-15s:%-s\n",$1,$7}' 2…

    Linux干货 2016-09-15
  • Linux基础知识之用户和组管理

    系统环境:    该博文以CentOS6.8_x86_64和CentOS7.2_x86_64系统为基础,Xshell5远程登录CentOS6.8和CentOS7.2系统,分别以root身份和sjsir用户身份登录系统。 学习的重要问题: 一、为什么要学习用户和组?    首先Linux区别于其他的系统的最重要的特性就是…

    Linux干货 2016-08-02
  • 设计模式 ( 十七) 状态模式State(对象行为型)

    设计模式 ( 十七) 状态模式State(对象行为型) 1.概述 在软件开发过程中,应用程序可能会根据不同的情况作出不同的处理。最直接的解决方案是将这些所有可能发生的情况全都考虑到。然后使用if… ellse语句来做状态判断来进行不同情况的处理。但是对复杂状态的判断就显得“力不从心了”。随着增加新的状态或者修改一个状体(if else(或swit…

    Linux干货 2015-07-27
  • week3

    一,列出当前系统上所有已经登录的用户的用户名,注意,同一个用户登录多次只显示一次即可 who | cut -d' ' -f1 | sort -u 二,取出最后登录到当前系统的用户相关信息 who | cut -d'&nb…

    Linux干货 2016-11-15