一、用户管理

    1、用户User

      1)令牌token,identity

      2)Linux用户:Username/UID

      3)管理员:root,0

      4)普通用户:1-65535

      系统用户:1-499(CentOS6),1-999(CentOS7)对守护 进程获取资源进行权限分配

      登录用户:500+(Centos6),1000+(CentOS7)交互式 登录 

    2、组group

      1)Linux组:Groupname/GID

      2)管理员组:root,0

      3)普通组:

      系统组:1-499(CentOS6),1-999(CentOS7)

      普通组:500+(CentOS6),1000+(CentOS7)

    3、组的类别

      Linux组的类别:

      用户的主要组(primary group):

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

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

      用户的附加组(supplementary group):

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

    4、用户话和组的配置文件

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

      1)/etc/passwd:用户及其属性信息(名称、UID、主组ID等)

      pwconv 将passwd当中的密码映射到了/etc/shadow

      pwunconv 取消映射,密码仍然放在/etc/passwd当中

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

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

      用户名 login name

      密码位 passwd

      密码上一次的修改时间

      密码的最小存活期

      密码的最大存活期

      密码过期之前提前多少天提醒用户将会过期

      密码过期之后在用户仍不改密码后多少天触发帐户过期

      帐户过期时间

      保留位

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

      vipw=vim /etc/passwd

      vipw -s=vim /etc/shadow  

      vigr -s = vim /etc/gshadow

      pwck     //检查/etc/passwd语法

      grpck    //检查/etc/group语法

    5、group文件格式

      1)群组名称:就是群组名称

      2)群组密码:通常不需要设定,密码是被记录在/etc/gshadow

      3)GID:就是群组的ID

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

    6、设置密码

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

      2)passwd:修改自己的密码

      3)常用选项:

      -l                    // 锁定指定用户

      -u                    //解锁指定用户

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

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

      -x maxdays            //最大使用期限

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

      -i inactivedays       //非活动期限

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

    7、用户和组管理命令

      1) 用户管理命令 useradd、usermod、userdel

      2)组账号维护命令 groupadd、groupmod、groupdel

    8、切换用户或以其他用户身份执行命令

       1)su username           //表示非登录式切换

       2)su - username         //表示登录式切换

       3) su -                 //表示登录root

          当前用户是root时,切换到其他用户不要密码

二、文件权限

    1、文件权限

      1)文件的权限主要针对三类对象进行定义:ower(属主,u)、group(属组,g)、 other(其他,o)。

      2)每个文件针对每类访问者都定义了三种权限:r:Readable、w:Writeable、x:eXcutable

      3)文件:

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

      w:可修改其内容

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

      4)目录:

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

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

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

      X:只给目录及已有部分x权限的文件加上x权限,不给三个权限 位完全没有x的文件加x

      5)对文件来说

      当仅r权限作用在文件上的时候,用户可以读取该文件的内容:cat less more head tail

      当仅w权限作用在文件上的时候,用户可以修改文件的内容:>>

      当仅x权限作用在文件上的时候,无作为.

      当rw权限作用在文件上的时候,用户即能读与能修改:cat less more head tail vim nano > >>

      当rx权限作用在文件上的时候,用户可以执行该文件

      当wx权限作用在文件上的时候,权限等同于仅w权限.

注意:文件的常见权限是r-- rw- rwx

      6)对目录来说

      当仅r权限作用在目录上的时候,用户可以短列出目录下的文件 名。

      当仅w权限作用在目录上的时候,无作为.

      当仅x权限作用在目录上的时候,用户可以进入该目录,并且在知 道具体文件名且具有相关权限的情况下,可以访问子文件。

      当rw权限作用在目录上的时候,权限等同于仅r权限。

      当rx权限作用在目录上的时候,用户进入,长列出。

      当wx权限作用在目录上的时候,用户可以进入且可以创建及删除 文件。但不能使用文件名通配符

注意:目录的常见权限r-x rwx

     7)文件权限八进制数字表示

     ---  000    0(无任何权限)

     --x  001    1     (只有执行权限)

     -w-  010    2      ( 只有写权限)

     -wx  011    3      (有读写权限)

     r--  100    4      (只有读权限)

     r-x  101    5      (有读执行权限)

     rw-  100    6      (有读写权限)      

     rwx  111    7      (有读写执行权限)

     例如:640:rw-r-----   (所有者拥有全部权限,所属组只有读权限,而其他人无任何权限)

   2、修改文件权限

     1)chmod  [OPTION]...OCTAL-MODE FILE...

-R:递归修改权限

    2)chmod [OPTION]...MODE[,MODE]...FILE...

MODE:

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

u=   g=  o=    ug=   a=   u=  g= 

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

u+   u-  g+  g-  o+   o-   a+  a-  +  -

    3)chmod [OPTION]...--reference=RFILE FILE...

参考RFILE文件的权限,将FILE修改为同RFILE

   3、Linux文件系统上的特殊权限

     1)SUID:当对一个可执行的二进制文件作用了suid权限之后,任何人在执行该文件时临时拥有其所属人的权限。

     2)SGID:当对一个可执行的二进制文件作用了sgid权限之后,任何人在执行该文件时临时拥有其所属组的权限。

     当对于一个目录作用了sgid权限之后,任何人在该目录下创建的文件的所属组与该目录的所属组相同。

     3)Sticky:当对于一个目录作用了sticky权限之后,该目录下的文件仅其文件的所属人,或目录的所属人及root才能删除。

     4)特殊权限修改

chmod  u+或-s FILE...4/0xxx

chmod  g+或-s DIR...  2/0xxx

chmod  o+或-t DIR...   1/0xxx

既有suid又有sgid 6xxx

既有suid又有sticky 5xxx

既有sgid又有sticky 3xxx

全有7xxx

注意:权限位原本有x的,加上特殊权限后,显示为小写,原本无x,显示为大写。

    4、访问控制列表

     1)ACL:Access Control List,实现灵活的权限管理

     2)除了文件的所有者,所属组和其他人,可以对更多的用户设置权限

     3)CentOS7默认创建的xfs和ext4文件系统具有ACL功能

     4)CentOS7之前版本,默认手工创建的ext4文件系统无ACL功能,需手动增加。

tune2fs -o acl /dev/sdb1

mount -o acl /dev/sdb1 /mnt/test

     5)ACL生效顺序:

        owner > acl user > group 与 acl group 谁的权限多,谁优先  > other

     6)访问控制列表

为多用户或者组的文件和目录赋予访问权限rwx

mount -o acl /directory

getfacl file |directory

setfacl -m u:wang:rwx file |directory

setfacl -Rm g:sales:rwX directory

setfacl -M file.acl file|directory

setfacl -m g:salesgroup:rw file| directory

sesetfacl -x u:wang file |directory

setfacl -X file.acl directory

setfacl -m m:r-x file |directory  设置上限阀值 或chmod g=r-x

setfacl -d -m u/g:username/groupname file |directory 设置默认权限

setfacl -k file |directory 清除默认权限

setfacm -b file |directory 清除acl属性