您的位置:首页 > 运维架构 > Linux

linux 文件权限

2016-05-06 11:04 405 查看
文件的基本权限
基本权限
- rwx r-x r-x user1 user1 filename
类型拥有者权限所属组权限其他人权限属主属组对象

对于文件:r w x 执行

对于目录:r读(看到目录里有什么)
w 创建文件、删除、移动
x进入 cd进去

修改权限的相关命令
chmod
作用修改文件权限
u+r u+w u+x
g-w
o=x


可执行权限绿色

同理
chmod g+x/ +w /+x a.txt 用法同上





修改 other 权限同上
chmod o+/-/=

chmod a+/-/= a 代表全部拥有人拥有组其他人
也可以 chmod +/-/= 等同于 a+/-/=

使用数字表示权限
- rwx r-x r-x user1 user1 filename
类型拥有者权限所属组权限其他人权限属主属组对象
rwx
r-- -w- --x
100 010 001
r=4 w=2 x=1

rw- 的值是多少
rwxr-xr-x 的值是多少

chown
作用修改文件拥有者和所属组
语法 chown usergroup 对象修改拥有人和所有组
chownuser 对象修改拥有人
chowngroup 对象修改所属组

-R 递归(目录下的所有内容全部更改,否则只修改目录)






一个文件只有r权限拥有者是否可以写这个文件








设置文件默认权限的补码

系统用户 umask 022
普通用户 umask 002

计算方法
文件默认权限= 666-umask
目录默认权限 =777-umask
工作中可以这么记但不严谨

umask 033
umask 掩码为033 666-033=633 结果为:644
计算方法:
6 6 6 umask 0 3 3
110 110 110 000 011 011 取反
111 100 100
110 110 110 111 100 100
\ /
\ /
\ /
110 100 100
6 4 4

了解
/etc/bashrc




特殊权限
SUID SGID stickybit

s 对应的数值为 4 2 1

SUID
限定:只能设置在二进制可执行程序上面。对目录文本设置无效。
功能:程序运行时的权限从执行者变成程序的拥有者




任何人对 /etc/shadow 没有任何权限如何修改密码?




就是通过 SUID 普通用户使程序运行时变成拥有者root

普通用户运行查看命令 less /etc/shadow 显示权限不够







root 查看less命令的绝对路径然后给它加上SUID 再用普通用户 less查看





另外 chmod 4775 /usr/bin/less 等同于 chomod u+s /usr/bin/less

SGID
限定: 既可以给二进制可执行程序设置,也可以给目录设置
功能:在设置了SGID权限的目录下建立文件时,新创建的文件的所属组会继承上级目录的所属组权限








总结改变ceshi 这个文件夹的所属组为 zhen ,当用root ceshi文件夹下创建a.txt文件时 a.txt 的所属组继承上级目录

stickybit
限定:只作用于目录
功能:目录下常见的文件只有root、文件创建者、目录所有者才能删除
chmod o+t




扩展ACL
查看 getfacl

u 设置某个用户拥有的权限





g 设置某个组拥有的权限




设置目录 acl






去掉单个
acl权限


去掉所有
acl权限

实战创建一个让root删除不了的文件
linux 文件系统扩展属性 chattr lsattr
+a 只能追加内容
+i 不能被修改









本文出自 “魂尊” 博客,请务必保留此出处http://zhh09.blog.51cto.com/3169394/1770671
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: