Answers:
每个文件都具有三种不同类别的权限:
权限是指在脚本或程序的情况下读取文件的权限,写入文件的权限或执行文件的权限。
在CLI上,您可以
chown
,例如chown guillermooo
chgrp
,例如chgrp root
chmod
,例如chmod u+w filename.ext
(为文件的所有者添加写权限filename.ext
)如果您想进一步了解这些工具,请打开一个终端并输入man [tool]
,例如man chmod
。
chown guillermooo
这不是chown guillermooo filename
吗?
警告:更改文件和目录的权限可能有害,并且可能使系统无法使用。当以root身份递归运行在错误的路径上时,我们可能会不得不重新安装Ubuntu。因此,最好不要在HOME目录之外更改权限,并且应尽可能避免以root身份递归运行命令。
当文件或目录有三个我们可以允许或拒绝的任务时,Ubuntu从Unix继承了权限的概念:
(遍历目录实际上意味着将其用作路径名的一部分。有关更多说明,请参见https://unix.stackexchange.com/a/13891或https://unix.stackexchange.com/questions/21251。)
此外,关于授予谁的权限,我们有以下三种情况:
现在,要获得这些排序的组合,我们使用一个二进制系统,其中每个位定义一个权限。最好在下表中显示
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | | | |
w | 010 | 2 | | | |
x | 001 | 1 | | | |
=======================================================
Number
现在如果我们想
一个)的文件(=用户)的所有者- [R EAD,w ^仪式,和e X ecute权限,
B)文件的组授予[R EAD和e X ecute权限,以及
c)所有其他人应该只有[R EAD访问。
然后,产生的文件权限将是:
u g o
rwx r-x r--
为了获得八进制数字,例如。对于chmod
命令或当我们必须了解错误消息时,我们需要填写上表,如下所示:
Permission | Binary | Octal | User | Group | Other |
======================================================
r | 100 | 4 | 4 | 4 | 4 |
w | 010 | 2 | 2 | 0 | 0 |
x | 001 | 1 | 1 | 1 | 0 |
======================================================
Numbers add to 7 5 4
需要添加每个权限编号,以便为用户(4 + 2 + 1 = 7),组(4 + 0 + 1 = 5)和其他(4 + 0 + 0 = 4)求和。结果数为:
u g o
7 5 4
现在,我们有两个选项可以更改权限位chmod
:
chmod u+rwx g+rx o+r filename
或更简单
chmod 751 filename
这两个命令将执行相同的操作。
我们家中一个新创建的文件的默认许可为664(-rw-rw-r--)。
如果我们希望文件可以作为程序执行,则必须更改此权限。
请注意,我们还必须更改该可执行文件可能位于的目录的权限。只有同时设置了文件的可执行文件和目录的可执行位,我们才可以将该文件作为程序运行。
当将文件复制到我们的家中时,它将失去它的权限,该权限将被我们自己的默认权限替换(除非我们使用高级选项(例如,存档选项)进行复制)。
另请注意,文件可能会从其安装点resp继承其权限。挂载选项。当安装不支持Unix权限的Windows格式化驱动器时,这一点很重要。
我们很快意识到这只是故事的一半。我们还需要整理所有物品。为此,每个文件或文件夹都具有定义的所有者和定义的组成员身份。
每次创建文件时,我们将是文件的所有者,文件的组也将是我们。通过ls -l
下面的示例输出,我们可以看到权限,所有权和组:
-rw-rw-r-- 1 takkat takkat 4096 Sep 12 20:25 test
- 我们仅允许更改属于我们的文件的权限,组或所有权。
如果我们不是文件所有者,则会收到Permission denied
错误消息。只有root用户可以更改所有文件。这就是为什么sudo
在编辑非我们文件的权限时必须使用的原因。chown
对于用户和chgrp
组,有两个内置命令。
要将文件所有权从任何人更改为takkat
我们,可以发出以下命令:
sudo chown takkat testfile
要将文件的组更改为takkat
我们发出
sudo chgrp takkat testfile
阅读命令的手册页以获取更多详细信息和选项。还建议您阅读这份更详尽的指南,以供进一步阅读:
也可以在这里找到一些相关的问题: