linux文件权限
文章目录
ls -al 信息
drwxr-xr-x 6 orange orange 4096 3月 19 11:40 .
drwxrwxrwx 90 orange orange 4096 3月 20 11:45 …
drwxr-x— 2 orange orange 4096 11月 25 22:52 autoload
drwxr-xr-x 3 orange orange 4096 3月 1 19:24 bundle
drwxr-xr-x 24 orange orange 4096 3月 11 21:06 plugged
drwxr-xr-x 2 orange orange 4096 3月 12 16:48 test
-rw-r–r-- 1 orange orange 7860 3月 19 11:40 vimrc
-rw-r–r-- 1 orange orange 7328 3月 11 19:53 VIMRC
第一个字符
d | 目录 |
---|---|
- | 文件 |
l | 链接文件 |
b | 装置文件里面的可供储存的接口设备 (可随机存取装置) |
c | 装置文件里面的串行端口设备 例如鼠标,键盘 (一次性读取装置) |
s | 资料接口文件 |
p | 数据传诵文件 |
第二栏 表示有多少档名连结到此节点(i-node)
改变文件所有权
- 改变拥有者 chown
- 改变组 chgrp
chgrp [-R] groupname filename #改变文件所属组权限 -R 如果是个文件夹 可递归更改文件内全部
chown [-R] owner_name:group_name #更改文件所有者
chown [-R] owner_name:group_name #更改文件所有者 顺便修改群组名称
改变文件读取写权限
属性
权限 | 对于文件 | 对于文件夹 |
---|---|---|
r : 4 | 可读 | 读取里面有啥文件 |
w : 2 | 可修改 | 可以在增删 搬移 命名文件 |
x : 1 | 可执行 | 可以进入文件夹 |
用数字改变文件/目录权限
chmod [-R] 751 filename #将filename权限改为 rwx r-x --x -R递归变更
用符号更改文件/目录权限
u 拥有着 | ||||
---|---|---|---|---|
chmod | g 组员 | + | r | 文件/目录 |
o 其他 | - | w | ||
a 全部 | = | x |
chmod u+x filename # 为拥有者加上执行权限
chmod g-x filename
chmod u=rwx filename
umask 文件预设权限
umask
0022 # 后三位与一般权限相关 第一位特殊权限
umask -S
u=rwx , g=rx,o=rx
建立文件时候: (-rw -rw -rw ) - (— -w- -w-) ==> -rw- r-- r-- 进行异或处理
建立目录时候: (d rwx rwx rwx ) - (d— -w- -w-) ==> drwx r-x r-x 进行异或处理
chattr 配置文件的隐藏属性
chattr [+ - =] [ai] filename
-a 只能在增加数据不能减少数据
-i 不能删除 sudo rm -f 也不行 去掉权限后才可以删除
lsattr显示文件隐藏属性
lsattr filename
-a 显示隐藏文件
-d 如果是目录仅仅列出目录属性
-R 连同子目录一同列出来
特殊权限
Set UID 简称 SUID
s这个标志出现在文件拥有着的x权限上 例如 /usr/bin/passwd 权限为-rws r-x r-x
功能限制:
- SUID权限仅对二进制程序有效
- 执行者对这个具有SUID属性的程序具有x的执行权限
- 执行者将拥有该程序的拥有着的权限
- 本权限仅在执行该程序的时候有效
例子:
现有一机密文件 M 属性为------------ root root 意味着M文件只有root可读且可强制写入
可执行文件A具有SUID属性,那么A的第一组属性为 -rws . A的owner是root A程序可以调用M文件
现有执行者QWJ 对可执行A文件具有x权限
QWJ在执行A时就暂时拥有了A所有者的权限(root权限),因此就可对机密文件M进行读写
ps: SUID仅可以在binary上,不能用在shell script上
Set GID 简称SGID
对于文件的SGID属性
- SGID对二进制程序有效
- 程序执行者对于该程序来说,具备x的权限
- 执行者在执行的过程中将会获得该程序群组的支持
对于目录的SGID属性
- 若用户岁与此目录具有r与x权限时,该用户能够进入此目录
- 用户在此目录下的有效群组(effective group)将会变成该目录的群组
- **用途 **: 若用户在此目录下具有w的权限(可以创建新文件),则使用者所创建的新文件,该新文件的群组与此目录的群组相同 . SGID对于项目开发来说非常重要!!!
Sticky Bit
目前只针对目录有效
- 当用户对于此目录具有w,x权限
- 当该用户在该目录下建立文件和目录时,仅有自己和root才有权力删除该文件
情景
当甲这个用户拥有A目录的w权限,则A可以移动/删除/更名所有的文件,如果给A目录加上SBIT的权限时,则甲只能整自己建立的文件目录,动不了别人建立的文件
SUID/SGID/SBIT 权限设置
- SUID : 4
- SGID : 2
- SBIT : 1
使用chmod命令
touch test
chmod 5777 test #第一个数字对应特殊权限,后三个对应rwx
chmod u+s test #增加SUID
chmod g+s test #增加SGID
chmod o+t test #增加SBIT