共计 1217 个字符,预计需要花费 4 分钟才能阅读完成。
导读 | “linux 的宗旨是:一切皆文件~ 今天给大家介绍一下文件权限” |
1、文件类型共七种:
d 目录
l 符号链接(软硬连接)s 套接字文件
b 块设备文件
c 字符设备文件
p 命名管道文件
- 普通文件,或者更准确的说,不属于以上几种类型的文件
2、文件权限设置
chmod [who] operator [permission] filename
who 的含义:
u 文件属主权限
g 同组用户权限
o 其他用户权限
a 所有用户(u+g+o)
operator 的含义:
+ 增加权限
- 取消权限
= 设定权限
permission 的含义:
r 读权限
w 写权限
x 执行权限
t 粘性位*
l 给文件加锁,使其他用户无法访问
u.g.o 针对文件属主,同组用户以及其他用户的操作
粘性位“t”如果在一个目录上出现“t”位,那么表示该目录只有其属主才可以删除;如果出现在文件列表,那么意味着该脚本或者程序在执行时会被放在交换区(虚存)
修改权限(符号模式):
chmod u+x hello.py
chmod +w hello.py
chmod -R +x runall.sh : -R 表示递归修改,包括该文件夹下的子文件
修改权限(绝对模式,不同数字代表不同权限):
chmod 664 hello.py
chmod 777 *
<<< 绝对模式下,用数字代替相应的权限位,可读用数字 4,可写用数字 2,可执行用数字 1 表示,修改同一个用户(u 或者 g 或者 o)权限只需要将对应的权限位的值相加:比如,6 代表可读可写。
<<< 修改多个用户的不同权限需要多个数字一并设置,第一个数字代表属主用户,第二个数字代表同组用户,第三个数字代表其他用户:比如,664 代表属主用户可读可写,同组用户可读可写,其他组可读
在绝对模式下修改权限应该有四位数字 664 其实是 0664。第一位是设置 suid 和 guid 的,一旦设置了该位,那么在可执行权限位 x 上会出现一个 s:suid(权限数字 4)意味着如果某个用户对属于自己的 shell 脚本设置了这种权限,那么其他用户在执行这一脚本时也会具有其属主相应的权限;guid(权限数字 2)意味着执行相应的脚本的用户将具有该文件所属用户组中用户的权限。
修改文件所属:
语法:chown -R -h owner file
- R 意味着对所有子目录下的文件做同样的修改;- h 意味着在改变符号链接文件的属主时不影响该链接所指向的目标文件。
chown root hello.py:将 hello.py 文件的所属修改为 root
修改文件所在组:
语法类似于 chown
chgrp root hello.py:将 hello.py 文件所在组修改为 root
创建文件默认权限:
umask 命令确定创建文件的缺省权限,一般 umask 在 /etc/profile 文件中设置,每个用户登录时会引用该文件,如果设置 umask,那么可以在 $HOME 下的.profile 或者 bash_profile 文件中保存。
正文完
星哥说事-微信公众号
![post-qrcode](https://www.xgss.net/wp-content/uploads/2023/07/二维码-微信公众号256x256.jpg)