sar*_*ami 58 permissions command-line users chmod chown
在某些示例中,我看到有些使用chown
了chmod
. 我不知道在哪里使用chmod
和chown
。请向我解释它们之间的区别,何时以及为什么我应该使用它们。
Rav*_*ina 105
简单来说
chown
用于更改文件的所有权,而chmod
用于更改文件模式位。
chown
定义谁拥有文件。chmod
定义谁可以做什么。当您让某人成为文件的所有者时,他几乎可以在他想要对该文件进行的任何地方进行操作,例如他可以使用chmod
更改其 mod(例如权限)来定义谁可以做什么。
$ ls -l file
-rwxrwxr-x 2 ravexina admins 26 May 9 12:49 file
Run Code Online (Sandbox Code Playgroud)
在上面的行中,我们可以看到它ravexina
是文件的所有者并且admins
是组。我可以使用:sudo chown dave:sudo file
将文件的所有者更改为dave
和组更改为sudo
;现在该文件属于“dave”和“sudo”组中的每个人。
然而,chmod
我们定义了谁可以做什么?谁有权读取文件、写入文件或执行文件。例如:
chmod 777 file
Run Code Online (Sandbox Code Playgroud)
将读取、写入和执行的权限授予所有人,包括所有者、组和其他所有人。
来自turnoff.us:
Zan*_*nna 71
让我们创建一个文件
touch rainbow
Run Code Online (Sandbox Code Playgroud)
我们来看看文件的元数据
$ ls -l rainbow
-rw-rw-r-- 1 zanna zanna 0 May 24 10:09 rainbow
Run Code Online (Sandbox Code Playgroud)
信息的第一部分是文件类型(-
开头表示它是一个普通文件)和权限位
之后我们看到了所有者(zanna)和组(zanna)。我们可以使用chown
命令来改变这些:
$ sudo chown pixie rainbow
$ ls -l rainbow
-rw-rw-r-- 1 pixie zanna 0 May 24 10:09 rainbow
Run Code Online (Sandbox Code Playgroud)
我们chmod
用来改变权限位
$ sudo chmod 333 rainbow
$ ls -l rainbow
--wx-wx-wx 1 pixie zanna 0 May 24 10:09 rainbow
Run Code Online (Sandbox Code Playgroud)
由于对所有者、组和其他人分别设置了权限位,因此您可以通过组合chown
和来控制不同用户的文件权限chmod
。有关Linux 权限的速成课程,请参阅此简短指南。
mur*_*uru 21
在考虑文件(或目录,或其他)的权限时,有两个因素:
chown
与谁打交道。chmod
处理什么。你不能用一个代替另一个。
简单的 Unix 权限将尝试访问文件的用户分为三种类型:
chown
用于改变前两个。chmod
用于更改授予这些类型的权限。
小智 10
添加到以前的优秀答案的几点/提示:
chown -R www-data files/
chown user:group myfile
chmod -R 775 files/
将使“files/”及其中和下的所有内容都可以执行并可供所有人读取,这可能不是每个文件都想要的结果。使用chmod -R g+w files/
只会添加组写入权限,而不会触及任何其他内容。已经很好的答案,但我想在权限很容易理解的地方做出贡献
chmod u=r+w,o=r-w,g=-r-w test.php
u = user
o = other
g = group
Run Code Online (Sandbox Code Playgroud)
通过这种方式,您可以轻松地将权限附加到文件。在上面的例子中
user = read + write
other = read but not write
group = not read not write
Run Code Online (Sandbox Code Playgroud)
并且不要忘记-R
是否要递归更改权限。
归档时间: |
|
查看次数: |
45842 次 |
最近记录: |