本文概述
- 权限集
- 使用chmod设置权限
- 设置八进制权限
- umask命令
- 读取(r):读取权限使你可以打开和读取文件的内容。但是你不能在文件中进行任何编辑或修改。
- 写入(w):写入权限允许你编辑, 删除或重命名文件。例如, 如果文件存在于目录中, 并且在文件上设置了写许可权, 但未在目录上设置写许可权, 那么你可以编辑文件的内容, 但不能删除或重命名。
- 执行(x):在Unix类型的系统中, 除非设置了执行许可, 否则你不能运行或执行程序。但是在Windows中, 没有此类许可。
permission |
在文件上 | 在目录上 |
---|---|---|
r(读取) | 读取文件内容(猫) | 读取目录内容(ls) |
w (write) |
更改文件内容(vi) | 在目录中创建文件(触摸) |
x(执行) | 执行文件 | 输入目录(cd) |
文章图片
查看上面的快照, 用户所有者前面有十个字符(-rw-rw-r– )。我们将在这里描述这十个字符。
【Linux文件权限】(-rw-rw-r– )的文件权限
position | characters | ownership |
---|---|---|
1 | – | 表示文件类型 |
2-4 | rw- | 用户权限 |
5-7 | rw- | 团体许可 |
8-10 | r– | 其他许可 |
当你是组时, 组权限将适用于你。其他权限与你无关。
当你是” 其他” 时, 其他权限将适用于你。用户和组权限与你无关。
权限示例
现在, 我们将显示一些示例, 说明如何查看文件或目录的权限。
文章图片
查看上面的快照, 不同的目录和文件具有不同的权限。
首字母(-)或d分别代表文件和目录。
现在, 从剩下的9个字母中, 第一个三元组代表用户所有者的权限。第二个三元组代表对组所有者的许可。第三三胞胎代表允许其他。
使用chmod设置权限 你可以根据需要使用chmod命令更改权限。下面是一些示例, 用于更改不同组的权限。
向组添加权限。
句法:
chmod <
groupName>
+<
permissionName>
<
fileName>
例:
chmod u+x file
文章图片
查看上面的快照, 将执行权限添加到用户所有者组。
从组中删除权限
句法:
chmod <
groupName>
-<
permissionName>
<
fileName>
例:
chmod g-x file
chmod u-w file
文章图片
查看上面的快照, 将执行权限从组中删除, 并将写入权限从用户所有者中删除。
一起向所有组添加权限
句法:
chmod a+<
permissionName>
<
fileName>
例:
chmod a+w file
文章图片
查看上面的快照, 我们已为所有组写了权限。
注意:同样, 你也可以删除所有组的权限。
向所有组添加权限而无需键入
句法:
chmod +<
permissionName>
<
fileName>
例:
chmod +w file
文章图片
看一下上面的快照, 该示例与之前的示例相同, 唯一的区别是我们没有在其中键入a。
设置显式权限
句法:
chmod <
groupName>
=<
permissions>
<
fileName>
例:
chmod o=rw file
文章图片
查看上面的快照, 我们已为其他人设置了明确的读写权限。
为不同的组设置显式权限
句法:
chmod <
groupName>
=<
permissions>
<
fileName>
例:
chmod u=rwx, g=rw, o=r file
文章图片
查看上面的快照, 我们已经为所有三个组设置了权限。
设置八进制权限 也可以为组设置八进制权限。
例如, 将r octal设置为4, 将w octal设置为2, 将x octal设置为1。
八进制表:
binary | octal | permissions |
---|---|---|
000 | 0 | — |
001 | 1 | – x |
010 | 2 | -w- |
011 | 3 | -wx |
100 |
4 | r–
|
101 | 5 | r-x |
110 | 6 | rw- |
111 | 7 | rwx |
777 = rwxrwxrwx
765 = rwxrw-r-x
654 = rw-r-xr--
等等。
文章图片
查看上面的快照, 我们显示了一些随机的八进制示例, 其数字分别为777、274和111。
umask命令 创建文件或目录时, 默认情况下会应用一组权限。这些默认权限可通过umask命令查看。
出于安全原因, 所有Unix系统都不提供对新创建文件的执行许可。
添加执行权限由你决定。
文章图片
mkdir -m
‘ mkdir -m’ 命令可用于设置模式。
句法:
mkdir -m <
mode>
<
fileName>
例:
mkdir -m 777 new1
mkdir -m 000 new2
文章图片
看上面的快照, 我们已经创建了两个文件new1和new2, 分别为777和000模式。
cp -p
‘ cp -p’ 命令保留源文件的权限和时间戳。
句法:
cp -p <
sourceFile>
<
destinationFile>
例:
cp -p list dupli.txt
文章图片
查看上面的快照, 文件列表和dupli.txt的早期权限不同。但是, 在传递命令” cp -p list dupli.txt” 之后, 这两个文件具有相同的权限。
推荐阅读
- Linux文件链接目录
- Linux索引节点
- Linux高级文件权限
- Linux文件链接
- Linux文件所有权
- Linux文件内容命令
- Linux rmdir命令
- Linux命令
- Linux mkdir | Linux创建目录