用户和组管理及权限管理

用户和组管理

       资源分派

              Authentication;认证

              Authorization;授权

              Accouting;审计   

       token,identity(username/password)  

      

       Linux用户:Username/UID

             管理员:root,0

             普通用户:1-65535 

                    系统用户:1-499;1-999(centos7版本)

                           守护进程获取资源进行权限分配     

                    登录用户:500+ ;1000+

                           交互式登录

       Linux组:Groupname/GID

               管理员组:root,0

               管理组:

                      系统组:1-499;1-999

                      管理组:500+;1000+

       Linux安全上下文:

              运行中的程序:进程(process)   

                     以进程发起者的身份运行:

                            root:cat

                            tom:cat

                     进程所能访问的所有资源的权限取决于进程的发起者的身份

       Linux组的类别:

               用户的基本组(主组)

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

               用户的附加组(额外组)

       Linux用户和组相关的配置文件:

               /etc/passwd:保存用户及其属性信息(名称、UID、基本组ID等等)

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

               /etc/shadow:用户密码及其相关属性

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

       /etc/passwd:

             name:password:UID;GID:GECOS:directory:shell 

             用户名:密码:UID:GID:GECOS:主目录:默认shell

       /etc/group:

             group_name:  password:GID:user_list

             组名:组密码:GID:以当前组为附加组的用户列表(分隔符为逗号)

       /etc/shadow:

             用户名:加密了的密码

                    加密机制:

                           加密:明文-->密文

                           解密:密文-->明文

                           单向加密:提取数据指纹

                                  md5:message digest,128bits

                                 sha1:secure hash algorithm,160bits

                                 sha224:224bits

                                 sha256:256bits

                                 sha512:512bits

                    密码的复杂性策略  

          

       用户和组相关的管理命令

              用户创建:useradd

                     useradd  [options]  login

                              -U  UID:[UID_MIN, UID_MAX],定义在/etc/login.defs

                              -g  GID:指明用户所属基本组,可为组名,也可以GID

                              -c "command":用户的注释信息

                              -d   /PATH/TO/HOME_DIR:以指定的路劲为家目录

                              -s  SHELL:指明用户的默认shell程序,可用列表在/etc/shells文件中

                              -G  GROUP1[,GROUP2,...[GROUPN]]];为用户指明附加组,组必须事先存在

                              -r:创建系统用户

                                    Centos6:ID<500

                                    Centos7:ID<1000 

                     默认值设定:/etc/default/useradd文件中

                              useradd  -D

                                        -s  SHELL

              练习:创建用户gentoo,附加组为distro和linux,默认shell为/bin/csh,注释信息为“Gentoo Distribution”

 

 

              组创建:groupadd

                     groupadd  [option]... group_name

                              -g GID:指明GID号:[GID_MIN, GID_MAX]

                              -r:创建系统组

              查看用户相关的ID信息:id

                     id [option]...[USER]

                              -u: UID

                              -g: GID

                              -G: Groups

                              -n: Name

              切换用户或以其他用户身份执行命令:su

                     su UserName:非登录式切换,即不会读取目标用户的配置文件

                     su - UserName:登录式切换,会读取目标用户的配置文件,完全切换 

                     注意:root su至其他用户无须密码;非root用户切换时需要密码

             换个身份执行命令:

                     su  [-]  UserName  -c  'command'

             选项:

                     -l:“su  -l  UserName”相当于“su  -  UserName”

        

             用户属性修改:usermod

                    usermod  [选项]  login

                           -u  UID:新UID

                           -g  GID:新基本组

                           -G  GROUP1[,GROUP2,...[,GROUPN]]]:新附加组,原来的附加组将会被覆盖;若保留原有,则要同时使用-a选项,表示append       

                            -c 'COMMENT':新的注释信息

                            -d HOME:新的家目录;原有家目录中的文件不会同时移动至新的目录,若要移动,则同时使用-a选项

                            -l login_name:新的名字

 

                            -L:lock指定用户

                            -U:unlock指定用户

 

             给用户添加密码:passwd

                    passwd  [options]  UserName:修改指定用户的密码,仅root用户权限

                    passwd:修改自己的密码

                            常用选项:

                                   -l:锁定指定用户

                                   -u:解锁指定用户

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

                                   -x  maxdays:最大使用期限

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

                                   -i  inactivedays:非活动期限

                                   --stdin:从标准输入接收用户密码:

                                         echo  ''PASSWORD'' | pass --stdin USERNAME 

             删除用户:userdel

                    userdel [option]...login

                           -r:删除用户家目录

             组属性修改:groupmod

                    groupmod [option]...group

                           -n group_name:新名字

                           -g GID:新的GID

             组删除:groupdel

                    groupdel  GROUP

             组密码:gpasswd

                    gpasswd [option] group

                           -a user:将user添加至指定组中

                           -d user:删除用户user的以当前组为组名的附加组

                           -A user1,user2,...:设置有管理权限的用户列表

                    newgrp命令:临时切换基本组

                             如果用户本不属于此组,则需要组密码

             修改用户属性:chage(man查看)【-d,-E,-I,-m,-M,-W】

             其他命令(了解):chfn,chsh,finger

             命令总结:useradd,groupadd,su,id,userwod,userdel,groupmod,groupdel,passwd,newgrp,pwck,gpasswd,chage,chsh,chfn,finger

            

权限管理:

       文件的权限主要针对三类对象进行定义:

              owner:属主,u

              group:属组,g

              other:其他,o

       每个文件针对每类访问者都定义了三种权限:

              r:Readable

              w:Writable

              x:eXcutable

              文件:

                     r:可使用文件查看类工具获取其内容;

                     w:可修改其内容;

                     x:可以把此文件提请内核启动为一个进程;

              目录:

                     r:可以使用ls查看此目录中文件列表;

                     w:可在此目录中创建文件,也可删除此目录中的文件;

                     x:可以使用ls -l查看此目录中文件列表,可以cd进入此目录

              ---    000   0

              --x    001   1

              -w-   010   2      

              -wx   011   3 

              r--    100   4

              r-x    101   5

              rw-   110    6

              rwx   111    7

              例如:

                     640:rw-r-----

                     rwxr-xr-x:755                     

       修改文件权限:chmod

                     -R:递归修改权限

              修改一类用户的所有权限:

                     u=rx

                     g=

                     o=       

                     ug=

                     u=,g=

              修改一类用户某位或某些位权限

                     u+;u-

       修改文件的属主和属组:

              仅root可用;

              修改文件的属主:chmod

                     chown [option]...[owner][:[group]] file...

                     用法:

                            owner

                            owner:group

                            :group

                            注意:命令中的冒号可用.替换 

                     -R:递归

              修改文件的属组:chgrp

       文件或目录创建时的遮罩码:umask

              file:666-umask

                   注意:如果某类的用户的权限减得的结果中存在x权限,则将其权限+1

              dir:777-umask        

 

posted @ 2018-07-05 19:49  axzq  阅读(207)  评论(0)    收藏  举报