#文件权限很重要,有些时候删除和新建文件没有权限根本操作不了,linux一切皆是文件,所以必须得了解下权限了。
文件的一般权限
简单的ls -ld 命令就能看到权限,dr-xr-x---补全应该是drwxrwxrwx,对应的分别为
r(read)可读权限
w(write)可写权限
x(excute)可执行权限
d(directory)目录文件。
依次对应文件所有者,文件所有组,其他用户。
当给予某个文件最高权限时,可使用-rwxrwxrwx,即可读可写可执行,chmod 777加上文件名称即可。排除为特殊权限外。
文件的特殊权限
SUID 可以让二进制程序的执行者临时拥有属组的权限。命令为chmod u+s 文件名
SGID 可以让二进制程序的执行者临时拥有属组的权限,自动继承用户组。命令为chmod -R g+s 文件名
SBIT 保护文件,使用户只能删除自己的文件。 命令为chmod -R o+t 文件名
rwx -> rws rw- -> rwS 大小写的变化。
rw- -> rwT rwx ->rwt
SUID权限为4 SGID权限为2 SBIT权限为1
文件的隐藏属性
chattr 用于设置文件的隐藏权限,如果需要想要把某个隐藏的功能添加到文件上,则需要在命令后追加 “+参数” ,如果想要把某个隐藏功能移出文件,则需要追加 “-参数” 。
chattr 命令中用于隐藏权限的参数及其作用如下:
i 无法对文件进行修改;若对目录设置了该参数,则仅能修改其中的子文件内容而不能新建或删除文件
a 仅允许补充(追加)内容,无法覆盖/删除内容(Append Only)
S 文件内容在变更后立即同步到硬盘(sync)
s 彻底从硬盘中删除,不可恢复(用0填充原文件所在硬盘区域)
A 不再修改这个文件或目录的最后访问时间(atime)
b 不再修改文件或目录的存取时间
D 检查压缩文件中的错误
d 使用dump 命令备份时忽略本文件/目录
c 默认将文件或目录进行压缩
u 当删除该文件后依然保留其在硬盘中的数据,方便日后恢复
t 让文件系统支持尾部合并(tail-merging)
X 可以直接访问压缩文件中的内容
lsattr 用于显示文件的隐藏权限,格式为 “lsattr [参数] 文件”
文件控制列表
setfacl 用于管理文件的ACL规则,针对目录文件需要使用 -R 递归参数;针对普通文件则使用 -m 参数;如果想要删除某个文件的ACL,则可以使用 -b 参数。
getfacl 用于显示文件上设置的ACL信息,格式为 “getfacl 文件名称”。
比如setfacl -m u:natasha:rw /test 给予用户natasha 可读写文件权限
su与sudo
su命令可以解决切换用户身份的需求
sudo 命令用于给普通用户提供额外的权限来完成原本root管理员才能完成的任务
附上一些学习笔记: