属主和属组设置
属主: 文件所有者 是一个账户一个人
属组: 所属的用户组 一个组
ls -l或者 ll
chown
修改文件的属主 属组
用法1:将文件的属主修改位其他用户
chown zhangsan 1.txt
将文件1.txt属主 修改为zhangsan
用法2:chown zhangsan:zhangsan 2.txt
同时修改文件的属主 属组
chgrp修改文件的属组
用法: charp zhangsan 1.txt
将文件1.txt属组修改为zhangsan
一般来说 chown命令只有root用户才能使用 普通用户没有权限修改别人的文件所有者 也没有权限将自己文件的所有者修改问别人
特殊权限
设置位s
让一般使用者 临时拥有文件的属主/属组权限
/user/bin/passwd 在执行时 需要修改/etc/passwd /etc/shadow等文件 这些文件除了root 其他用户都只有读权限 为了让普通用户修改密码 临时让他们拥有root权限 这个s权限 就是帮我们来完成这个任务的 s权限 只能应用在二进制的可执行文件上
去除s权限
which 查看二进制可执行文件的位置
通过chmod命令修改s权限
chmod u-s/u+t /user/bin/passwd
chmod 0755 /user/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
表示创建文件的默认权限
root 644 umask: 666
普通用户 664 umask: 777
root umask值
普通用户 umask值
当umask 011 创建文件默认权限应该是655 实际运行时会变成666
666-->rw-rw-rw-
011-->-----x--x
相减得-->rw-rw-rw-
这个特殊情况只出现于文件
修改umask值
临时修改: umask值 umask值 umask值 044
永久i修改: