基本作用
chomd
主要作用是修改文件权限或者目录权限
权限详解
在Linux中,权限被分为三组,每组包含三种权限:
- 所有者 (Owner / User -
u
): 文件的创建者或被指定为所有者的用户。 - 组 (Group -
g
): 与文件关联的用户组中的所有用户。 - 其他用户 (Others / World -
o
): 除了所有者和组成员之外的所有其他用户。 每组权限组都包含以下三种基本权限:
- 读取 (Read -
r
):- 对于文件: 允许查看文件内容。
- 对于目录: 允许列出目录中的文件(但必须同时有执行权限才能进入目录)。
- 写入 (Write -
w
):- 对于文件: 允许修改、保存或删除文件。
- 对于目录: 允许在目录中创建、删除或重命名文件(但必须同时有执行权限才能进入目录)。
- 执行 (Execute -
x
):- 对于文件: 允许将文件作为程序或脚本运行。
- 对于目录: 允许进入(
cd
)目录并访问其内容。 我们可以使用ls -l来查看文件权限
两种用法
1.符号模式
符号模式可以使用字符来增量的修改权限 语法:
chmod [who][operator][permissions] file/directory
who
(作用对象):u
(user): 所有者g
(group): 组o
(others): 其他用户a
(all): 所有用户 (u, g, o 的总和)- 如果省略
who
,则默认作用于a
(all),但受umask
影响。
operator
(操作符):+
: 添加指定的权限。-
: 移除指定的权限。=
: 设置指定的权限,并移除未指定的其他权限。
permissions
(权限):r
: 读取 (Read)w
: 写入 (Write)x
: 执行 (Execute) 例子:
chmod u+x script.sh
#为文件所有者增加执行权限
chmod a=rwx script2.sh
#为所以用户添加读写执行的权限
chmod u+w directory/
#为目录所有者添加写权限
数字模式
数字模式使用八进制数字表示每组权限 每个权限都有自己的对应值
- r(读) = 4
- w(写) = 2
- x(执行) = 1
- -(无权限) = 0 通过将每组权限的数字值相加,可以得到一个三位八进制数字。这三位数字分别代表所有者、组和其他用户的权限。
权限组合的数字值:
权限组合 | 数字值 |
---|---|
--- | 0 |
--x | 1 |
-w- | 2 |
-wx | 3 |
r-- | 4 |
r-x | 5 |
rw- | 6 |
rwx | 7 |
语法:
chmod [xxx] file/director
其中xxx
是一个三位8进制数字
- 第一位数字:所有者的权限 (Owner)
- 第二位数字:组的权限 (Group)
- 第三位数字:其他用户的权限 (Others) 例:
chmod 644 file
- 6 (rw-) 给所有者:读、写
- 4 (r—) 给组:读
- 4 (r—) 给其他用户:读
- 这是普通文件常见的权限设置,所有者可读写,其他人只读。