属主与属组设置
属主:文件的所有者 是一个账户 一个人
属组:所属的用户组 一个组
ls -l ll
chown
修改文件的属主 属组
用法1:将文件的属主修改为其他用户
chown zhangsan 1.txt 将文件1.txt属主 修改为 zhangsan
用法2:同时修改文件的属主 属组
chown zhangsan:zhangsan 2.txt
chgrp 修改文件的属组
用法:chgrp zhangsan 1.txt
一般来说 chown命令 只有root用户才可以使用 普通用户没有权限修改别人的文件所有者 也没有权限将自己文件的所有者修改为别人。
特殊权限
设置位s
让一般使用者 临时拥有文件的属主/属组权限
/usr/bin/passwd 在执行时 需要修改/etc/passwd /etc/shadow 等文件,这些文件除了root 其他用户都只有读权限,为了让普通用户修改密码 临时让他们拥有root权限,找个s权限 就是帮我们来完成这个任务的,s权限 只能应用在二进制的可执行文件上。
去除s权限
which 查看二进制可执行文件所在的位置
通过chmod命令修改s权限
chmod u-s/u+s /usr/bin/passwd
0755 最前面的0表示不使用任何特殊权限 用数字来代表特殊权限 可以使用 4表示s位
普通用户测试
沾滞位 t
chmod
作用:只允许文件的创建者或root删除文件
chmod o+t/o-t 文件名
ACL访问控制
ugo
rwx s t
acl 是访问控制列表的缩写 在Linux系统中 ACL可实现对单一用户设定访问文件的权限
基本命令
getfacl 查看文件的acl策略及权限 getfacl 文件名
setfacl 给文件针对某个用户 设置acl权限
-m 修改acl策略
-x 去掉某个用户或者某个组的权限
-b 删除所有acl策略
-R 递归 通常用于目录中
mask 定义除other以及所有者外最大的权限
给单个用户单独增加权限 setfacl -m u:user:rwx file
给单个组单独增加权限 setfacl -m g:groupname:rwx file
去掉某个用户的权限:setfacl -x u:user file
去掉某个组的权限:setfacl -x g:groupname file
删除所有acl策略:setfacl -b file
umask
表示创建文件的默认权限
文件 666
目录 777
root umask值
目录 | 文件 | |
---|---|---|
最大默认权限 | 777 rwxrwxrwx | 666 rw-rw-rw- |
umask | 022 ----w--w- | 022 ----w--w- |
初始权限 | 755 rwxr-xr-x | 644 rw-r--r-- |
普通用户umask值
目录 | 文件 | |
---|---|---|
最大默认权限 | 777 rwxrwxrwx | 666 rw-rw-rw- |
umask | 002 -------w- | 002 -------w- |
初始权限 | 775 rwxrwxr-x | 664 rw-rw-r-- |
当umask 011 创建文件默认权限应该是 655 实际运行时会变成666
666 —> rw-rw-rw-
011 —> -----x--x
相减得
666 —> rw-rw-rw-
这个特殊情况只出现于文件
修改umask值
临时修改:umask umask值 umask 044
永久修改: