Linux 文件权限

Xial 发布于 2023-02-05 2 次阅读


查看文件或文件夹的权限

查看path路径下名为filename的文件或文件夹的权限:

ls -l path/filename  

查看path路径下的所有文件的权限:

ls -ls path  

查看linux文件夹的权限:

ls -ld 文件夹名称(所在目录)  

结果类似下面这样:

total 840252
drwxrwxrwx  5 www-data www-data      4096 Jan 30 23:27 a
drwxrwxrwx  6 www-data www-data      4096 Feb  5 14:33 b
-rwxrwxrwx  1 ubuntu   ubuntu   837633091 Feb  1 19:32 c
drwxr-xr-x  2 ubuntu   ubuntu        4096 Jan 28 22:24 d
-rw-r--r--  1 ubuntu   ubuntu           2 Feb  1 18:29 e
-rw-r--r--  1 ubuntu   ubuntu    22751086 Nov 16 03:04 f
drwxr-xr-x 17 ubuntu   ubuntu        4096 Jan 10 21:28 g
drwxrwxr-x 12 ubuntu   ubuntu        4096 May 11  2022 h

每一项分别表示:

文件权限 硬链接 (hard link) 数量 所有者 所属用户组 大小 (字节) 修改时间 文件 (文件夹) 名
drwxrwxrwx 5 www-data www-data 4096 Jan 30 23:27 a
drwxrwxrwx 6 www-data www-data 4096 Feb 5 14:33 b
-rwxrwxrwx 1 ubuntu ubuntu 837633091 Feb 1 19:32 c
drwxr-xr-x 2 ubuntu ubuntu 4096 Jan 28 22:24 d
-rw-r--r-- 1 ubuntu ubuntu 2 Feb 1 18:29 e
-rw-r--r-- 1 ubuntu ubuntu 22751086 Nov 16 03:04 f
drwxr-xr-x 17 ubuntu ubuntu 4096 Jan 10 21:28 g
drwxrwxr-x 12 ubuntu ubuntu 4096 May 11 2022 h

文件权限

其中文件权限由 10 位组成。

可以分成四项

文件类型 所有者权限 所属用户组权限 其他用户权限
d rwx r-x r-x

文件类型有以下几种:

  • d 是目录
  • - 是文件
  • l 为链接文档(link file)
  • b 为装置文件里面的可供储存的接口设备(可随机存取装置)
  • c 为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)

各个权限中 r 表示读取权限,w 表示写入权限,x 表示执行权限,- 表示没有这项权限。

更改文件权限

chgrp 更改文件所属用户组

chgrp [-R] 属组名 文件名
  • -R 递归更改目录下所有文件与文件夹的属组

chown 更改文件所有者

该命令可以同时更改所有者和属组。

chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名

chmod 更改文件 9 个权限

文件 9 个权限可以看做三位一组,分别表示每种类型的读写执行权限。

其中 r,w,x 位可以分别用二进制 0/1 表示。

1 表示有该权限,0 表示没有该项权限

比如 rwx 就可以表示为 111,也就是十进制的 7。

r-x 就可以表示为 101,也就是十进制的 5。

更改文件权限时可以使用三个数字的方法来更改。

比如:

chmod [–R] 754 文件或文件夹名

就把文件的权限改成了 rwxr-xr--

更改部分权限

9 位权限分别代表所有者,属组,其他用户的权限。所以规定可以使用一个字母来表示:

  • u 用户 (user)
  • g 用户组 (group)
  • o 其他 (others)
  • a 所有身份 (all)

因此也可以使用 身份 + 操作 + 权限 的方法来修改。

操作有以下几种:

  • + 加入
  • - 除去
  • = 设定

权限则还是 rwx 三种

比如:

chmod [–R] u=rwx,g=rx,o=r 文件或文件夹名

就可以把文件的权限改成 rwxr-xr--

最后更新于 2023-02-05