chmod permissions file_name 详细讲解
在 chmod 命令中,permissions 参数用于设置文件或目录的访问权限。权限可以通过符号表示法或数字表示法来指定。
权限概述
在 Unix 和 Linux 系统中,每个文件和目录都有以下三种基本权限:
- 读取 (r):允许查看文件的内容或列出目录的文件。
- 写入 (w):允许修改文件的内容或在目录中创建、删除文件。
- 执行 (x):允许执行文件(如果是程序或脚本)或进入目录。
这些权限可以分配给三个不同的用户类别:
- 用户 (u):文件或目录的所有者。
- 组 (g):文件或目录所属的组的成员。
- 其他 (o):所有其他用户。
权限表示方法
1.符号表示法
在符号表示法中,权限是通过符号来设置的:
r:读取权限。w:写入权限。x:执行权限。-:表示没有该权限。
权限设置的格式为 who operator permissions,其中:
who:指定要修改的用户类别,可以是u(用户)、g(组)、o(其他),或者a(所有用户,即用户、组和其他)。operator:指定如何修改权限,通常是+(添加权限)、-(删除权限)或=(设置权限)。permissions:指定要设置的权限,如r、w和x。
例如:
chmod u+x file_name:给文件的所有者添加执行权限。chmod g-w file_name:从文件的组成员中删除写入权限。chmod o=r file_name:将其他用户的权限设置为只读权限。
2.数字表示法
在数字表示法中,权限是用三位八进制数表示的,每一位对应一个用户类别的权限:
4:读取权限(r)2:写入权限(w)1:执行权限(x)
通过将这些数字相加,可以得到每个类别的权限值。例如:
7:读取 + 写入 + 执行(rwx)6:读取 + 写入(rw-)5:读取 + 执行(r-x)4:读取(r--)3:写入 + 执行(wx-)2:写入(w--)1:执行(x--)0:没有权限(---)
数字表示法的格式为 user_group_other,其中:
user:文件所有者的权限group:文件所属组的权限other:其他用户的权限
例如:
chmod 755 file_name:设置文件权限为rwxr-xr-x,即所有者有读取、写入和执行权限,组和其他用户有读取和执行权限。chmod 644 file_name:设置文件权限为rw-r--r--,即所有者有读取和写入权限,组和其他用户只有读取权限。
例子
添加执行权限给文件所有者:
bashchmod u+x script.sh这将使
script.sh文件的所有者能够执行它。从组成员中删除写入权限:
bashchmod g-w document.txt这将移除
document.txt文件的组成员的写入权限。设置文件为所有用户可读、可执行,但不可写:
bashchmod 755 program这将使
program文件的所有者有读取、写入和执行权限,组和其他用户有读取和执行权限。设置文件为所有用户不可写:
bashchmod a-w file.txt这将移除
file.txt文件对所有用户的写入权限。