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
文件对所有用户的写入权限。