权限:用于指定用户对目录或者文件的适用范围。root权限最大,可以做任何事,一般企业生产环境中基本不用root来操作,只有在必要时才使用。


一.用户权限下放(sudo)

    普通用户对系统文件没有写入和执行权限,对目录没有写入的权限,所以在必要时候需要将系统管理员的权限下放给普通用户,使其对系统有特定的管理权限,以便于更好的维护系统文件。

(1).权限下放动作的配置文件 :/etc/sudoers,用visudo命令编辑

文件内容编辑模式

授权目标用户    主机名称=(授权用户得到的新用户身份)    授权用户执行命令

test        ALL=(ALL)            ALL

例:[root@server1 ~]# visudo

test        ALL=(ALL)            ALL

[root@server1 ~]# su - test

Last login: Mon Apr 11 19:00:36 CST 2016 on pts/0

[test@server1 ~]$ sudo mkdir 1

[sudo] password for test:   ##输入普通用户的密码

[test@server1 ~]$ ls

1

二.权限列表

对于文件的权限进行附加补充说名的一个权限设定方式

权限列表查看:# ls -l test_acl

-rw-rw-r-- + 1 root root 0 4月  12 00:03 test_acl

“.”表示特殊权限控制位,“.”表示没有权限列表,“+”表示有权限列表

权限位对列表的含义:

r:可以使用cat等命令查看文件内容

w:可以编辑或者删除文件

x:可以运行此文件

1. ACL用户权限设置

ACL针对单一用户,单一文件或目录进行r,w,x的权限设置。   .

(1).查看当前系统是否支持acl

# df   -h

/dev/mapper/VolGroup-lv_root  6.7G  877M  5.5G  14% /

#dumpe2fs -h /dev/mapper/VolGroup-lv_root

Default mount options:    user_xattr acl      ##结果显示支持

当当前系统不支持时,设置当前系统支持acl。

# mount -o remount,acl   /             ##暂时性修改

或者

# vim /etc/fstab                ##永久性修改,开机会自动加载

/dev/mapper/rhel-root   /     xfs    defaults,acl    1   1   .

(2).权限设置

setfacl                ##设置某个文件/目录的acl权限列表

格式

setfacl    -m     <u|g>:<username|groupname>:权限  filename

setfacl    -m    <m>:权限        filename      ##mask权限设置

setfacl     -x     <u|g>:<username|groupname>    filename

setfacl     -x        <m>:            filename          ##mask权限取消

setfacl     -b        filename  ##删除文件所有用户权限

-m:设置acl参数,不可与-x合用

# setfacl -m u:test:rw test_acl

-x:删除acl参数,不可与-m合用

# setfacl -x u:test test_acl

-d:给目录设置acl权限列表

# setfacl -m d:u:test:rx yang/

-b:删除所有acl参数

# setfacl -b yang/

-k:删除默认的acl参数

-R:递归设置acl权限

取消mask有效权限:setfacl -x m: test_facl

# setfacl -x m: test_acl

设置mask有效权限:setfacl -m m:rwx test_acl

# setfacl -m m:rwx test_acl

注:用户或用户组设置的权限必须要存在于mask有效权限设置范围之内才

可以生效。

getfacl    ##查看某个文件/目录的acl权限

getfacl    filename