Linux 目录文件权限
2021-12-15 本文已影响0人
paul_deng
1 查看文件权限
$ ls -la 文件夹/文件
-rwxr--r--. 2 root root 6245 Mar 27 14:39 文件
drwxr-xr-x. 8 root root 4096 Apr 18 10:54 目录
第一段字母组合 是权限
第一个 root 是 owner
第二个 root 是 group
2 权限解读
组成
首字母 | 2~4 字母 | 5~7 | 8 ~ 10 |
---|---|---|---|
文件-/文件夹 d | user 权限 | group 权限 | others 权限 |
首字母 - 文件系统对象类型
首字母 | 2~4 字母 |
---|---|
- | 常规文件 |
d | 目录 |
l | 符号链接 |
c | 字符特殊设备 |
b | 模块特殊设备 |
p | FIFO |
s | 套接字 |
2~10 位字母的意义
- r 读权限 read 4
- w 写权限 write 2
- x 操作权限 execute 1(如果是程序的话)
- - 没有授予权限 0
d rwx rwx rwx =777 表示目录的操作权限
- rwx rwx rwx = 777 表示文件的操作权限
3 权限设置
权限设置可以使用 rwx-字母组合 也可以使用 0~7数字 表达。
常见的一些权限设置
-rw------- (600) 只有所有者才有读和写的权限
-rw-r--r-- (644) 只有所有者才有读和写的权限,组群和其他人只有读的权限
-rwx------ (700) 只有所有者才有读,写,执行的权限
-rwxr-xr-x (755) 只有所有者才有读,写,执行的权限,组群和其他人只有读和执行的权限
-rwx--x--x (711) 只有所有者才有读,写,执行的权限,组群和其他人只有执行的权限
-rw-rw-rw- (666) 每个人都有读写的权限
-rwxrwxrwx (777) 每个人都有读写和执行的权限
指令
# 为指定的文件添加/修改权限 (u=user,g=group,o=others)
$ chmod [u]/[g]/[o] [-][w][r][x] 文件
# 删除指定文件的权限 (- 号等同删除)
$ chmod [u]/[g]/[o]-[w][r][x] 文件
参数一 (支持多个并存):
- u - User
- g - Group
- o - Others
- 无 = ugo 设置所有的权限
参数二:
- 空格 表示添加/修改权限
- - 表示删除权限
- = 表示使之成为唯一的权限
参数三:
读写执行权限
如果需要修改目录及子文件的权限,需要使用(-R)
# 设置当前用户+组用户+其他用户同时可读、写、执行
chmod -R 777 文件夹
# 设置当前用户读+写,其他用户读+执行
chmod -R 644 文件夹
4 修改文件归属
通过调整文件/目录的 user 和 group,可以针对调整更灵活的权限设置。
前面的例子,展示文件的 user 为 root, group 为 root,通过以下指令可以进行修改:
chown user:group 文件/目录
# 如修改文件的用户为 test1
chown test1 文件
# 修改文件的用户组
chown :group1 文件
# 修改文件的用户及组别
chown test1:group1 文件
# 同时修改当前目录及子文件的归属
chown test1:group1 -R 目录
5. 参考
https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files