Linux 文件权限
Linux 文件权限
Linux系统中的所有三个所有者(用户所有者,组,其他)都定义了三种类型的权限。九个字符表示三种类型的权限。
读取(r): : 读取权限允许您打开和读取文件的内容。但是您不能在文件中进行任何编辑或修改。
写入(w): : 写入权限允许您编辑,删除或重命名文件。例如,如果文件存在于目录中,并且在文件上设置了写许可权,但没有在目录上设置写许可权,那么您可以编辑文件的内容,但不能删除或重命名。
执行(x): 在Unix类型的系统中,除非设置了执行许可,否则您无法运行或执行程序。但是在Windows中,没有此类许可。
权限在下面列出:
权限 |
在文件上 |
在目录上 |
r(已读) |
读取文件内容(猫) |
读取目录内容(ls) |
w(写) |
更改文件内容(vi) |
在目录(触摸)中创建文件 |
x(执行) |
执行文件 |
输入目录(cd) |
权限集
查找在上面的快照中,用户所有者前面有十个字符(-rw-rw-r--)。我们将在这里描述这十个字符。
(-rw-rw-r--)的文件权限
<所有权>
所有权
所有权>
位置 |
个字符 |
1 |
- |
表示文件类型 |
2-4 |
rw- |
用户权限 |
5-7 |
rw- |
组的权限 |
8-10 |
r- |
其他人的许可 |
如果您是用户所有者,则用户所有者权限适用于您。其他权限与您无关。
当您是组时,组权限将适用于您。其他权限与您无关。
当您是其他时,其他权限也适用于您。用户和组权限与您无关。
权限示例
现在,我们将显示一些示例,这些示例如何显示文件或目录的权限。
请看上面的快照,不同的目录和文件具有不同的权限。
第一个字母(-)或 d 分别代表文件和目录。
现在,从剩下的9个字母中,第一个三元组代表用户所有者的权限。第二个三元组表示对组所有者的权限。第三三元组表示其他的权限。
使用chmod设置权限
您可以更改权限根据需要使用chmod命令。下面是一些更改不同组权限的示例。
向组添加权限。
语法:
chmod <groupName>+<permissionName> <fileName>
示例:
查看上面的快照,将执行权限添加到用户所有者
要从组中删除权限
语法:
chmod <groupName>-<permissionName> <fileName>
示例:
chmod g-x file
chmod u-w file
请看上面的快照,从该组中删除执行权限,并
要一起向所有组添加权限
语法:
chmod a+<permissionName> <fileName>
示例:
请看上面的快照,我们已经为所有组。
注意: 类似地,您也可以删除所有组的权限。
要向所有组添加权限,而无需输入
语法:
chmod +<permissionName> <fileName>
示例:
请看上面的快照,此示例与前面的示例相同区别在于我们没有在其中键入 a 。
要设置显式权限
语法:
chmod <groupName>=<permissions> <fileName>
示例:
看一下上面的快照,我们已经设置了读写权限。
为其他组设置显式权限
语法:
chmod <groupName>=<permissions> <fileName>
示例:
chmod u=rwx,g=rw,o=r file
看上面的快照,我们为所有三个组设置了权限。
设置八进制权限
还可以为组设置八进制权限。
例如,设置 r 八进制将为 4,设置为 w 八进制将为 2,设置为 x 八进制 1、
总表:
binary |
八进制 |
权限 |
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>
示例:
查看上面的快照,文件列表和dupli.txt的更早权限。是不同的。但是,在传递命令" cp-p list dupli.txt" 之后,两个文件都具有相同的权限。