个性化阅读
专注于IT技术分析

Linux文件权限

本文概述

Linux系统中的所有三个所有者(用户所有者, 组, 其他)都定义了三种权限。九个字符表示三种类型的权限。

  1. 读取(r):读取权限使你可以打开和读取文件的内容。但是你不能在文件中进行任何编辑或修改。
  2. 写入(w):写入权限允许你编辑, 删除或重命名文件。例如, 如果文件存在于目录中, 并且在文件上设置了写许可权, 但未在目录上设置写许可权, 那么你可以编辑文件的内容, 但不能删除或重命名。
  3. 执行(x):在Unix类型的系统中, 除非设置了执行许可, 否则你不能运行或执行程序。但是在Windows中, 没有此类许可。

权限列出如下:

permission
在文件上 在目录上
r(读取) 读取文件内容(猫) 读取目录内容(ls)
w (write)
更改文件内容(vi) 在目录中创建文件(触摸)
x(执行) 执行文件 输入目录(cd)

权限集

Linux文件权限1

查看上面的快照, 用户所有者前面有十个字符(-rw-rw-r–)。我们将在这里描述这十个字符。

(-rw-rw-r–)的文件权限

position characters ownership
1 表示文件类型
2-4 rw- 用户权限
5-7 rw- 团体许可
8-10 r– 其他许可

如果你是用户所有者, 则用户所有者权限适用于你。其他权限与你无关。

当你是组时, 组权限将适用于你。其他权限与你无关。

当你是”其他”时, 其他权限将适用于你。用户和组权限与你无关。

权限示例

现在, 我们将显示一些示例, 说明如何查看文件或目录的权限。

Linux文件权限2

查看上面的快照, 不同的目录和文件具有不同的权限。

首字母(-)或d分别代表文件和目录。

现在, 从剩下的9个字母中, 第一个三元组代表用户所有者的权限。第二个三元组代表对组所有者的许可。第三三胞胎代表允许其他。


使用chmod设置权限

你可以根据需要使用chmod命令更改权限。下面是一些示例, 用于更改不同组的权限。

向组添加权限。

句法:

chmod <groupName>+<permissionName> <fileName>

例:

chmod u+x file
Linux文件权限3

查看上面的快照, 将执行权限添加到用户所有者组。

从组中删除权限

句法:

chmod <groupName>-<permissionName> <fileName>

例:

chmod g-x file
chmod u-w file
Linux文件权限4

查看上面的快照, 将执行权限从组中删除, 并将写入权限从用户所有者中删除。

一起向所有组添加权限

句法:

chmod a+<permissionName> <fileName>

例:

chmod a+w file
Linux文件权限5

查看上面的快照, 我们已为所有组写了权限。

注意:同样, 你也可以删除所有组的权限。

向所有组添加权限而无需键入

句法:

chmod +<permissionName> <fileName>

例:

chmod +w file
Linux文件权限6

看一下上面的快照, 该示例与之前的示例相同, 唯一的区别是我们没有在其中键入a。

设置显式权限

句法:

chmod <groupName>=<permissions> <fileName>

例:

chmod o=rw file
Linux文件权限7

查看上面的快照, 我们已为其他人设置了明确的读写权限。

为不同的组设置显式权限

句法:

chmod <groupName>=<permissions> <fileName>

例:

chmod u=rwx, g=rw, o=r file
Linux文件权限8

查看上面的快照, 我们已经为所有三个组设置了权限。


设置八进制权限

也可以为组设置八进制权限。

例如, 将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--

等等。

Linux文件权限9

查看上面的快照, 我们显示了一些随机的八进制示例, 其数字分别为777、274和111。


umask命令

创建文件或目录时, 默认情况下会应用一组权限。这些默认权限可通过umask命令查看。

出于安全原因, 所有Unix系统都不提供对新创建文件的执行许可。

添加执行权限由你决定。

Linux文件权限10

mkdir -m

‘mkdir -m’命令可用于设置模式。

句法:

mkdir -m <mode> <fileName>

例:

mkdir -m 777 new1
mkdir -m 000 new2
Linux文件权限11

看上面的快照, 我们已经创建了两个文件new1和new2, 分别为777和000模式。

cp -p

‘cp -p’命令保留源文件的权限和时间戳。

句法:

cp -p <sourceFile> <destinationFile>

例:

cp -p list dupli.txt
Linux文件权限12

查看上面的快照, 文件列表和dupli.txt的早期权限不同。但是, 在传递命令” cp -p list dupli.txt”之后, 这两个文件具有相同的权限。

赞(0)
未经允许不得转载:srcmini » Linux文件权限

评论 抢沙发

评论前必须登录!