Linux 目录文件权限

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. 参考

《[# 【Linux】目录文件权限的查看和修改【转】》

https://unix.stackexchange.com/questions/39761/execute-bit-on-directories-but-not-files

你可能感兴趣的:(Linux 目录文件权限)