【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 虽然方便,但可能会让系统暴露给未授权的用户,建议仅在必要时使用,且最好只针对特定目录或临时文件使用。
- 用户和用户组管理:有时你可能还需要调整文件的所有者或用户组,这可以通过
chown
和chgrp
命令来完成,例如:chown username file.txt # 修改所有者 chgrp groupname file.txt # 修改用户组