Linux系统权限与归属分为三大类别:
一、基本权限的类别
1、访问方式(权限)
- 读 取:允许查看内容 -read 简写 r
- 写 入:允许修改内容 -write 简写 w
- 可执行:允许运行和执行 -execute 简写 x
2、权限的适用对象(归属)
- 所有者(属主):拥有此文件或目录的用户 user 简写 u
- 所属组(属组):拥有此文件或目录的组 group 简写 g
- 其 他 用 户:除所有者、所属组以外的用户 other 简写 o
使用 ls -ld 文件或目录
3、设置基本权限
使用 chmod [-R] 归属关系+-=权限类别 文档……
4、设置权限归属
- chown [-R] 属主 文档或目录
- chown [-R] :属组 文档或目录
- chown [-R] 属主:属组 文档或目录
二、附件权限
1、set gid
- 附加在属组的x位上
- 属组的权限标识会变为 s
- 适用于目录,set gid可以是目录下新增的文档自动设置与父组目录相同的属组
2、set uid
- 附加在属主的x位上
- 属主的权限标识会变为 s
- 适用于可执行文件,set uid可以让使用者具有文件属主的身份及部分权限
3、sticky bit
- 附加在其他人的x位上
- 其他人的权限标识会变为t
- 适用于开放w权限的目录,可以组织用户滥用w写入权限(禁止操作别人的文档)
案例:配置附加权限
要求创建一个某个组的用户共享使用的目录 /home/admins,满足以下要求:
- 此目录的组所有权是 adminuser
- adminuser 组的成员对此目录有读写和执行的权限,除此以外的其他所有用户没有任何权限(root用户能够访问系统中的所有文件和目录)
- 在此目录中创建的文件,其组的所有权会自动设置为属于 adminuser 组
步骤一:创建目录并调整权限
1)新建文件夹和组
2)调整并确认权限
步骤二:验证目录的特性
在此目录下新建一个文件,查看新建文件的归属,其属组应该与父目录相同
三、acl访问控制列表
1、acl策略的作用
- 文档归属的局限性:任何人只属于三种角色-属主、属组和其他人,无法实现更精细的控制
- acl:能够对个别用户、个别组设置独立的权限,大多数挂载的EXT3/4、XFS文件系统默认支持
2、设置acl访问控制策略
- 命令格式: getfacl 文档
- 命令格式: setfacl [-R] -m u:用户名:权限类别 文档
- 命令格式: setfacl [-R] -m g:组 名:权限类别 文档
- 命令格式: setfacl [-R] -b 文档
- 命令格式: setfacl [-R] -x u:用户名 文档... 删除指定ACL策略
- 命令格式: setfacl [-R] -b 文档... 删除所有的ACL策略
添加策略
清空策略
案例:配置文档的访问权限
要求将文件 /etc/fstab 拷贝为 /var/tmp/fstab,并调整文件 /var/tmp/fstab的权限,满足以下要求:
- 此文件的拥有者是 root
- 此文件属于 root 组
- 此文件对任何人都不可执行
- 用户 natasha 能够对此文件执行读和写操作
- 用户 harry 对此文件既不能读,也不能写
- 所有其他用户(当前的和将来的)能够对此文件进行读操作
思路:针对个别用户的权限策略,使用setfacl命令进行设置
步骤一:复制文件,确认复制后的权限
说明已经满足案例要求的前三条和最后一条。
步骤二:调整权限
1)增加额外的访问控制策略
2)确认结果