linux用户与组的相关内容简介:
   1.Linux用户:Username/UID

       管理员:root,0普通用户:1-65535系统用户:1-499(在centos7上为1-999)作用:对守护进程获取资源进行权限分配登录用户:500+(1000+)交互式登录

2.Linux组:Groupname/GID

       管理员组:root,0普通组:系统组:1-499(1-999)普通组:500+(1000+)

3.Linux安全上下文:

       运行中的程序:进程(process)以进程发起者的身份运行root:cattom:cat进程能够访问的所有资源的权限取决于进程的发起者的身份

4.Linux组的类别

       用户的基本组(主组):组名同用户名,且仅包含这一个用户,又叫私有组用户的附加组(额外组)


Linux用户和组相关的配置文件及其详细信息

  /etc/passwd:用户及其属性信息(名称,UID,基本组ID等等)/etc/group :组及其属性信息/etc/shadow:用户密码及其相关属性/etc/gshadow:组密码及其相关属性

1./etc/passwd文件内容解析

     name : password : UID : GID : GEcos : directory : shell

2./etc/group文件内容解析

     group_name : passwd : GID : user_list

(以当前组为附加组的用户列表,分隔符为逗号)

3./etc/shadow文件内容解析

用户名 : 加密了的密码 : 最近一次更改密码的日期 : 密码的最小使用期限 : 最大密码使用期限 : 密码警告时间段 : 密码禁用期 : 账户过期日期


对Linux用户相关的管理命令
  1.用户创建:useradd

    useradd [option] LOGIN -u UID : 指定用户的id号([UID_min,UID_max]定义在/etc/login.defs中)-g GID:指明用户所属的基本组,可为组名,也可以为GID号-c "COMMENT":用户的注释信息-d /PATH/TO/HOME.DIR:以指定目录为家,目录(其实家目录中的隐藏文件来源于/et                             c/skel文件中)-s SHELL : 指明用户的默认shell程序,可用列表在文件/etc/shell中-G GROUP1[,GROUP2,...]为用户指明附加组,前提是组必须事先存在默认值设定:/etc/default/useradd文件中useradd -D-s SHELL

2.用户ID信息查看:id

     id [OPTION]... [USER]-u:UID-g:打印基本组的id信息-G:打印全部组的id信息-n:打印名字而不是id

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

     su [OPTIONS...] [-] [user [ards...]]切换用户的方式:su UserName : 非登录式切换,即不会读取目标用户的配置文件su - UserName : 登录式切换,会读取目标用户的配置文件,完全切换注:root su到其他用户无需密码,非root用户切换时需要密码


  4.用户属性修改:usermod

     usermod [OPTION] login-u UID-g GID-G GROUP[.GROUP2,...[,GROUPN]]:新附加组,原来的附加组将会被覆盖;若保留                                         原有,则需要同时使用-a选项,表示append-s SHELL-c "COMMENT"-d HOME-l login_name-L-U-f INACTIVE

5.给用户添加密码:passwd

     passwd [OPTIONS] UserName    (修改指定用户的密码,是仅root用户拥有的权限)passwd : 修改自己的密码-l-u-n mindays-x maxdays-w warningdays-i inactivedays--stdin

6.删除用户:userdel

     userdel [OPTION]... LOGIN-r:删除用户家目录

7.修改用户属性:chage

     chage [OPTION]... LOGIN-d LAST_DAY-E,--expiredate EXPIRE_DATE-I,--inactive INACTIVE-m,--mindays MIN_DAYS-M:--maxdays MAX_DAYS-W:--warndays WARN_DAYS其他命令:chfn,chsh,finger



对Linux组相关的管理命令
  1.组创建:groupadd

     groupadd [OPTIONS] group-g

2.组属性修改:groupmod

     groupmod [OPTIONS]... group-n group_name-g GID

3.组密码:gpasswd

     gpasswd [OPTION] group-a user:将user添加到指定组中-d user:删除用户user的以当前组为组名的附加组-A user1,user2,...:设置有管理权限的用户列表

4.临时切换基本组:newgrp

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


  5.组删除:groupdel

     groupdel GROUP


权限管理:
  1.文件对三类访问者都定义了三种权限

     r:可使用文件查看类工具获取其内容w:可修改其内容x:可以将此文件提请内核启动一个进程


  2.目录对三类访问者定义了三种权限

     r:可以使用ls查看此目录中的文件列表w:可在此目录中创建文件,也可删除此目录中的文件x:可以使用ls -l查看此目录中的文件列表,可以cd进入此目录


  3.修改文件的属主:chown

     chown [OPTION]... [OWNER][:[GROUP]] FILE       用法          OWNER          OWNER:GROUP          :GROUP          -R:递归注:命令中的冒号可用.来替换     chown [OPTION]... --reference = RFILE FILE...


  4.修改文件的属组:chgrp

     chgrp [OPTION]... GROUP FILE...     chgrp [OPTION]... --reference=RFILE FILE...

5.修改文件权限:chmod

     chmod [OPTIION]... OCTAL_MODE FILE...-R:递归修改权限chmod [OPTION]... MODE[,MODE]... FILE...MODE:修改一类用户的权限u=g=o=ug=a=    (表示全部的u,g,o)u=,g=修改一类用户末尾或某些位权限u+u-chmod [OPTION]... --reference=RFILE FILE...参考RFILE文件的权限,将FILE的权限修改为同RFILE

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

       FILE:666-umask注:如果某类的用户的权限减得的结果存在x权限,则将其权限+1DIR:777-umask#umask : 查看#umask # : 设定相关权限

特殊权限:
   1.SUID(仅可用二进制程序上)

  (1).任何一个可执行程序文件能不能启动为进程,取决于发起者对程序文件是否拥有执行权限(2).启动为进程之后,其进程的属主为原程序文件的属主权限设定:chmod u+s FILEchmod u-s FILE

2.SGID(可用在二进制程序上,又可用到文件或目录上)

  (1).默认情况下,用户创建文件时,其属组为此用户所属的基本组(2).一旦某目录被设定了SGID,则对此目录有写权限的用户在此目录中创建的文件所属的组为此目录的属组权限设定chmod g+s DIR...chmod g-s DIR...

3.Sticky(只针对目录有效,对文件无效)

  对于一个多人可写的目录,如果设置了sticky,则每个用户仅能删除自己的文件权限设定:      chmod o+t DIR      chmod o-t DIR