Skip to content

文件权限

文件权限就是文件的访问控制权限,即哪些用户和组群可以访问文件以及可以执行什么样的操作。

Unix/Linux 系统是一个典型的多用户系统,不同的用户处于不同的地位,对文件和目录有不同的访问权限。为了保护系统的安全性,Unix/Linux 系统除了对用户权限作了严格的界定外,还在用户身份认证、访问控制、传输安全、文件读写权限等方面作了周密的控制。

在 Unix/Linux 中的每一个文件或目录都包含有访问权限,这些访问权限决定了谁能访问和如何访问这些文件和目录。

文件访问权限

  • 每个文件都有一个所有者
  • 每个文件或目录都有一个指派给它们的组
  • Linux根据文件的所有者和所属组来确定谁可以访问

使用较长格式列出文件:

ubuntu@ubuntu:~$ ls -l
总用量 57220
drwxr-xr-x  3 ubuntu ubuntu     4096 May 16 12:37 Desktop
drwxr-xr-x  3 ubuntu ubuntu     4096 May 16 06:47 Documents
drwxr-xr-x  2 ubuntu ubuntu     4096 May 15 13:09 Downloads
-rw-r--r--  1 ubuntu ubuntu     8980 Apr 30 02:25 examples.desktop
......

a1565676877678

a1565676909031

修改文件权限

命令作用
chown修改拥有者
chgrp修改组
chmod修改权限

改变文件所属关系

shell
chown user:group file

给其它用户添加写权限

shell
chmod a+x file
chmod 666 file

命令格式如下:

bash
# 修改文件|目录的拥有者
chown 用户名 文件名|目录名

# 递归修改文件|目录的组
chgrp -R 组名 文件名|目录名

# 递归修改文件权限
chmod -R 755 文件名|目录名

chmod 在设置权限时,可以简单地使用三个数字分别对应 拥有者/组其他 用户的权限

bash
# 直接修改文件|目录的 读|写|执行 权限,但是不能精确到 拥有者|组|其他
chmod +/-rwx 文件名|目录名

004_文件权限示意图

常见数字组合有(u表示用户/g示组/o表示其他):

  • 777 ===> u=rwx,g=rwx,o=rwx
  • 755 ===> u=rwx,g=rx,o=rx
  • 644 ===> u=rw,g=r,o=r