权限归属
基本权限的类型
访问方式
-读取:允许查看内容-read r
-写入:允许修改内容-write w
-可执行:允许运行和切换-execute x
对于文本文件
r: cat head tail less等
w: vim 需要可以保存
x: ./ 可以运行,可以执行
对于目录
r:能够ls浏览此目录内容
w:能够执行rm/mv/cp/mkdir/touch/等更改目录内容的操作,操作目录的子文档
x:能够cd到此目录
权限使用对象(归属)
- 所有着:拥有此文件/目录的用户-user
- 所属组:拥有此文件/目录的组-group
- 其他用户:除所有着、所属组以外的用户-other
d:目录
l:快捷方式
[root@localhost ~]# ll
total 24
drwxr-xr-x 2 root root 32 Jul 23 13:30 1
-rw-------. 1 root root 1554 Jul 17 16:38 anaconda-ks.cfg
-rw-r--r-- 1 root root 11298 Jul 17 18:34 otter-manager-schema.sql
-rwxr--r-- 1 root root 66 Jul 24 11:32 user.sh
-rw-r--r-- 1 root root 287 Jul 19 19:06 wordlist
权限位 硬连接数 属主 属组 大小 最后修改日期 文件/目录名称
设置基本权限
使用chmod命令
- chmod [-R] 归属关系 +-= 权限类别 文档...
[root@localhost ~]# chmod a+x /root/1.txt
-R 递归所有的子目录及文件
设置文档归属
-chown [-R] 属主 文档...
-chown [-R] :属组 文档...
-chown [-R] 属主:属组 文档...
[root@localhost ~]# chown zhangsan:grpTemp /nsd03 #把nsd03目录改成属主zhangsan 属组grpTemp
附加权限(特殊权限)
Set UID
- 附加再属主的x位上
- 可以让使用者,具有文件属主的身份及部分权限(传递所有者身份)
特殊权限用S表示
大写的S原来没有执行权限,小写的s表示原来有执行权限
Set GID
-附加在属组的x位上
-属组的权限表示会变为s
-适用于可执行文件,功能与Set UID类似(传递所属组身份)
-适用于目录,Set GID可以使目录下新增的文档自动设置与父目录相同的属组
Set GID
#mkdir /opt/home
#chmod :grpTemp /opt/home
#chown g+s /opt/home
#mkdir /opt/home/test1 的所属组权限继承了home目录的所属组权限
Sticky Bit
附加在其他人的x位上
- 其他人的权限表示会变为t
- 适用于开放w权限的目录,可以阻止用户滥用w写入权限(禁止操作别人的文档)
[root@localhost ~]# mkdir /public
[root@localhost ~]# chmod a=rwx /public
[root@localhost ~]# chmod o+t /public
[root@localhost ~]# su - hc
[hc@localhost ~]$ mkdir /public/hc
[root@localhost ~]# su - admin
[admin@localhost ~]$ rm -rf /public/hc #无法删除会提示权限不足
使用hc用户进入/public目录创建文件或目录,
使用admin用户无法删除hc用户创建的文件或目录
配置附加权限
创建一个共用目录/home/admins,要求如何:
- 此目录的所有权是adminuser
- adminuser组的成员对此目录有读写和执行的权限
除此以外的其他所有用户没有任何权限(root用户能够访问系统中的所有文件和目录)
- 在此目录中创建的文件,其组的所有权会自动设置位adminuser组
[root@VM_232_244_centos opt]# cd /home
[root@VM_232_244_centos home]# mkdir /home/admins
[root@VM_232_244_centos home]# ll -d admins
drwxr-xr-x 2 root root 4096 Jul 31 20:55 admins
[root@VM_232_244_centos home]# groupadd adminuser
[root@VM_232_244_centos home]# ll -d admins
drwxr-xr-x 2 root root 4096 Jul 31 20:55 admins
[root@VM_232_244_centos home]# chown :adminuser admins
[root@VM_232_244_centos home]# ll -d admins
drwxr-xr-x 2 root adminuser 4096 Jul 31 20:55 admins
[root@VM_232_244_centos home]# chmod g=rwx admins
[root@VM_232_244_centos home]# ll -d admins
drwxrwxr-x 2 root adminuser 4096 Jul 31 20:55 admins
[root@VM_232_244_centos home]# chmod g+s admins
[root@VM_232_244_centos home]# ll -d admins
drwxrwsr-x 2 root adminuser 4096 Jul 31 20:55 admins
[root@VM_232_244_centos home]# mkdir admins/test1
[root@VM_232_244_centos home]# ls admins/test1
[root@VM_232_244_centos home]# ls -ld admins/test1
drwxr-sr-x 2 root adminuser 4096 Jul 31 20:57 admins/test1
acl访问控制
acl策略的作用
文档归属的局限性
- 任何人只属于三种角色:属主、属组、其他人
- 无法实现更精细的控制
acl访问策略
- 能够对个别用户、个别组设置独立的权限
- 大多数挂在的EXT3/4、XFS文件系统默认已支持
使用getfacl、setfacl命令
- getfacl 文档..
- setfacl [-R] -m u:用户名:权限类型 文档...
- setfacl [-R] -m g:组名:权限类型 文档...
- setfacl [-R] -b 文档... #清理acl权限
[root@localhost work]# useradd ltea
[root@localhost work]# ll -d /BJtt/
drwxr-xr-x 2 root root 6 Jul 25 17:36 /BJtt/
[root@localhost work]# setfacl -m u:ltea:rx /BJtt/
[root@localhost work]# ll -d /BJtt/
drwxr-xr-x+ 2 root root 6 Jul 25 17:36 /BJtt/
多了+号