文章目录
Linux文件权限解读
Linux系统中除了是对用户与组按照UID,GID进行了管理,还对Linux系统中的文件linux操作系统教程,根据用户与组进行分类,针对不同的群体进行了权限管理,用他来确定谁能通过何种方法对文件和目录进行访问和操作。
一、文件权限
文件的权限针对三类对象进行定义
owner属主,简写u
group属组,简写g
other其他,简写o
每位文件针对每类访问者定义了三种主要权限
r:Read读
w:Write写
x:eXecute执行
另X:针对目录加执行权限linux 文件 权限,文件不加执行权限(因文件具备执行权限有安全隐患)
注意:root帐户不受文件权限的读写限制,执行权限受限制
对于文件和目录来说linux 文件 权限,r,w,x有着不同的作用和涵义:
针对文件:
r:读取文件内容
w:修改文件内容
x:执行权限对除二进制程序以外的文件没什么意义
针对目录:目录本质可看做是储存文件列表、节点号等内容的文件
r:查看目录下的文件列表
w:删除和创建目录下的文件
x:可以cd进入目录,能查看目录中文件的详细属性,能访问目录下文件内容(基础权限)
用户获取文件权限的次序:先看是否为所有者,倘若是,则前面权限不看;再看是否为所属组,倘若是,则前面权限不看。
二、修改文件访问权限的方式三、UMASK值
作用:取消对应的权限,影响创建文件和目录的默认权限
对目录: umask+default=777(dir)
对文件:666-umask:观察结果,如果有奇数,奇数位+1,偶数不变
四、三种特殊权限suid、sgid、sticky(sticky权限工作环境中相对常用)
suid
作用:给一个用户承继二补码程序所有者拥有的权限
suid权限位坐落所有者的执行权限位上,假若一个文件具有suid权限,则所有者执行位为s,文件表现为黄色背景
例:ll /usr/bin/passwd
-rwsr-xr-x. 1 root root 27832 Jun 10 2014 /usr/bin/passwd
给file文件增加suid权限
chmod u+s file
chmod 4755 file suid数字法表示为4
注:suid只适宜作用在二补码程序上
sgid
作用1:给一个用户承继二补码程序所有组拥有的权限
sgid权限位坐落所有组的执行权限位,假如一个文件具有suid权限,则所有组的执行位为s,文件表现为红色背景
例:ll `which cat`
-rwxr-sr-x. 1 root root 48568 Mar 23 2017 /bin/cat
给file文件增加sgid权限
chmod g+s file
chmod 2755 file sgid数字法表示为2
作用2:作用在目录上时,使一个目录下的新建的文件承继目录的所属组
sticky
作用:作用于目录上,此目录的文件只能被所有者删掉
sticky权限位坐落其他的执行权限位上,假若一个文件具有sticky权限,则其他的执行位为t,目录表现为红色背景
如:ll -d /tmp
drwxrwxrwt. 17 root root 4096 Apr 4 10:02 /tmp
给dir目录添加sticky权限
chmod o+t dir
chmod 1777 dir sticky数字法表示为1
五、ACL访问控制列表
作用:实现愈发灵活的权限管理linux安装,打破了三类用户的权限管理
添加ACL权限
setfacl -m u:wang:0 file 使wang账户对指定file文件无权限
setfacl -m u:mage:rw file 使mage账户对指定file文件有读写权限
setfacl -m g:g1:rw file 使g1组对指定file文件有读写权限
getfacl file 查看指定file文件的ACL权限
ACL权限执行次序类似于用户获取文件权限的次序,getfacl次序从上到下执行,一旦生效,下边的将不再生效(假如属于多个组,权限累加)
删掉ACL权限
setfacl -x u:wang file 删除wang账户对指定file文件的ACL权限
setfacl -x g:g1 file 删除g1组对指定file文件的ACL权限
ACL权限下的mask
设置用户对指定文件所能拥有的最大权限(限高作用)
setfacl -m mask::r file 使指定文件file所拥有的最大权限位读r
setfacl -x mask::r file 取消指定文件file的最大权限限制mask
setfacl -b f1 取消f1文件所有的ACL权限
ACL生效次序:所有者、自定义用户、自定义组、其他人
备份和恢复ACL权限
getfacl -R /tmp/dir1>acl.txt 将dir1目录下ACL权限备份
setfacl -R –set-file=acl.txt /tem/dir 恢复dir1目录下ACL权限
六、文件权限操作的常用命令