Linux权限模型及特殊权限

一、Linux权限模型

1、用户身份划分:

user/owner:所属者

group:所属组

others:其他人

2、用户权限划分:

- - - - - - - - - -

- - - 代表 owner 用户的权限

- - - 代表 group 用户组的权限

- - - 代表 others 其他用户的权限

r(read)4 w(write)2 x(execute)1

注:文件默认权限是 644 = -rw-r—r— 目录默认权限是 755 = drwxr-xr-x

二、Linux特殊权限

1、setuid

针对二进制程序设置 让二进制程序从执行者变为拥有者

用法:chmod u+s file

如 passwd 命令 超级用户可以执行去修改/etc/shadow 文件 普通用户执行这个命令后也可以修改/etc/shadow 文件 但是这个文件本 身 ugo 是全 0 的权限 也正是因为通过在 User 的 x 位置上加上 s 权限实现让其从执行者变为拥有者 通常只在运行二进制时生效

2、setgid

针对二进制程序和目录设置 可以让目录下的文件继承目录所属组的权限

用法:chmod g+s dir

3、StickBit 权限 粘滞位 防删除位 SBIT

只作用于目录 目录下的文件只允许 root 用户,文件创建者,目录所有者才能删除,其他用户不能删除

用法:chmod o+t file

4、 ACL 访问控制列表权限

4.1、单个用户权限的设定及取消

4.2多个用户权限的设定使用逗号分割

5、umask权限掩码

umask默认权限有4个八进制数组成

文件或目录的初始权限=文件或目录的最大默认权限—umask权限

(文件默认最大权限是666,目录默认最大权限是777)

umask修改:

6、隐藏属性

lsattr filename :查看文件隐藏属性

chattr +a fileanme:只能向文件中添加数据 不能修改、覆盖

chattr +i fileanme:文件不能被删除、改名、设定硬链接关系、写入或新增

经验分享 程序员 微信小程序 职场和发展