目录

linux文件文件权限基础

【linux】【文件】文件权限基础

【linux】【文件】文件权限基础

1. Linux 文件权限基础

每个文件或目录都有三类权限:

  • 所有者(Owner)
  • 用户组(Group)
  • 其他用户(Others)

每类权限又有三种操作权限:

  • 读(r) :读取文件内容或列出目录内容
  • 写(w) :修改文件内容或目录(添加、删除文件)
  • 执行(x) :执行文件或进入目录

这三种权限的数值分别是:

  • 写(w) = 2
  • 执行(x) = 1

2. 数字表示法 —— 777 的含义

使用数字(八进制)表示权限时,三个数字分别对应所有者、用户组和其他用户的权限。

  • 7 = 4 + 2 + 1,即读、写、执行权限都开启。
  • 因此, 777 表示:
    • 所有者:读、写、执行
    • 用户组:读、写、执行
    • 其他用户:读、写、执行

这意味着所有人都对该文件或目录拥有完全的权限,这在某些情况下可能会带来安全风险,因此使用时需谨慎。


3. 修改文件权限的命令

chmod 命令用于修改文件或目录的权限。基本语法如下:

chmod [权限设置] 文件或目录名

3.1 数字表示法

例如,将文件 file.txt 的权限修改为 777,可以执行:

chmod 777 file.txt

这条命令将赋予 所有用户 (所有者、用户组、其他人)对 file.txt 的读、写、执行权限。

只有所有者有读、写权限,其它用户没有任何权限

chmod 600 filename

3.2 符号表示法

除了数字表示法外,还可以使用符号表示法来修改权限。例如:

  • u 代表所有者
  • g 代表用户组
  • o 代表其他用户
  • a 代表所有用户(相当于 u、g、o)

符号表示法常见操作符:

  • + 表示添加权限
  • - 表示去掉权限
  • = 表示设置精确权限

例如,下面的命令将为 所有者 添加执行权限,而不给其他用户增加权限:

chmod u+x file.txt

而要设置所有用户拥有读、写、执行权限,可以写成:

chmod a=rwx file.txt

只有所有者有读、写权限,其它用户没有任何权限(在符号表示法中,go= 表示将用户组和其他用户的权限全部清除。)

chmod u=rw,go= filename

4 注意事项

  • 安全性 :将文件或目录权限设置为 777 虽然方便,但可能会让系统暴露给未授权的用户,建议仅在必要时使用,且最好只针对特定目录或临时文件使用。

  • 用户和用户组管理 :有时你可能还需要调整文件的所有者或用户组,这可以通过 chownchgrp 命令来完成,例如:

    chown username file.txt        # 修改所有者
    chgrp groupname file.txt        # 修改用户组