chmod命令
在Linux中Chmod命令
什么是chmod?
CHMOD代表更改模式(change mode)。
此命令用于更改访问方式。
可是等等!它不是为了改变许可吗?
实际上,在Unix的早期,权限被称为访问方式。
这就是为什么这个特定命令命名为chmod的原因。
chmod命令具有以下语法:
chmod [option] mode file
在我们看到如何使用chmod之前,我们应该知道其选项。
- -v:输出处理的每个文件的诊断
- -c:似乎是冗长但仅在更改时报告
- -reference =文件:使用文件的模式而不是模式值
- -r:递归更改权限
请注意,使用-V选项报告如果进行了更改,或者是否需要完成。
与-r选项组合时,-v可以产生大量的输出。
-reference =文件允许我们使用文件的当前权限模式作为在目标文件上设置的权限。
注意此选项需要双划线前缀( - )不是( - )。
chmod命令例子
如果我们知道要在文件上设置有哪些权限,则使用chmod命令非常简单。
例如,如果我们希望所有者拥有组和公共组的所有权限,并且没有权限,则需要在绝对模式下设置权限700:
chmod 700 filename
我们可以在符号模式下进行相同的操作。
chmod u=rwx filename
如果我们希望在数字或者符号模式下知道Linux文件权限的简单方法,可以使用此CHMod计算器。
只需选择适当的权限,它将告诉我们绝对和符号模式的权限。
递归地更改目录中的所有文件的权限
Chmod具有递归选项,允许我们更改目录和子目录中所有文件的权限。
chmod -R 755 directory
Chmod 777:所有人的一切
我们可能已经听说过Chmod 777.此命令将为所有者,组和公众提供读取,写和执行权限。
如果要将模式更改为777,则可以使用这样的命令:
chmod 777 filename
CHMOD 777被认为是潜在的危险,因为我们在文件/目录上给了每个人的读取,写和执行权限(谁在系统上)。
你应该完全避免它。
chmod + x或者chmod a + x:每个人的执行
可能是CHMOD最常用的情况之一是给出执行位的文件。
在下载可执行文件之后,我们需要在使用之前添加此权限。
给所有者,组和其他所有权执行文件的权限:
chmod +x /path/to/file
Chmod 755:只有所有者可以为每个人编写,读取和执行
下一个命令将在文件上设置以下权限:RWXR-XR-X。
只允许所有者写入文件。
所有者,团体成员和其他人都将读取和执行许可。
chmod 755 /path/to/file
Chmod 700:只有所有者的一切
此命令将为所有者提供读取,写和执行权限。
小组和其他人将没有权限,甚至没有阅读。
chmod 700 /path/to/file
CHMOD 666:没有人执行
给所有者,组和其他其他人在文件上读写权限。
chmod -c 666 /path/to/file
Chmod 644:每个人都可以阅读,只有所有者可以写
通过下一个下一个,所有者将在组和其他人都有读写读取和写入。
chmod 644 /path/to/file
Chmod 600:所有者可以读写,没有别的人
通过下一个下一个,所有者将在组和其他人的同时读写,其他人都没有任何权限。
chmod 600 /path/to/file
Chmod命令示例在符号模式下
在上面的示例中,我使用位掩码来设置新模式。
那些易于计算。
需要简单的补充。
考虑以下:
- x = 1
- w = 2.
- r = 4.
我们现在可以轻松地看到我其中得到755,666,640。
我们不必使用BitMask来设置新权限。
可以使用更多人类可读方式。
这款第二种格式如下所示:
chmod OPTIONS {u,g,o}{+,-,=}{r,w,x} /path/to/file
虽然这可能看起来很复杂,但这很简单。
我们首先从键入chmod和所需的选项开始。
然后,问问自己:我正在改变权限吗?
用户,团体,其他。
这将为我们提供命令的第一部分:
chmod OPTIONS {u,g,o}
完成命令的下一步,我们或者决定添加权限位(+),删除权限( - )或者设置权限(=)。
最后一个将根据需要添加或者删除权限,以便根据要求设置权限。
chmod -v u+
下一节是我们决定应用(+),删除( - )或者匹配(=)的权限模式的位置。
我们可以指定RWX的任何组合。
chmod -v u+rw
下一个示例将为所有者应用读/写权限。
verbose选项将导致chmod报告操作。
chmod -v u+rw /path/to/file
下一个将在目录和其所有内容递归上设置组的写入权限。
它只报告仅在更改上。
chmod -cR g+w /path/to/directory
我们可以将多个操作组合在此下一个示例中的许可上完成。
它将确保所有者具有读/写/执行,也为组添加写入权限并为其他人删除执行:
chmod u=rwx,g+w,o-x /path/to/file
最后一个将使用RFILE作为参考以在文件上设置权限。
完成后,文件的许可将完全正像RFILE
chmod --reference=/path/to/rFile /path/to/file
有更多的选项和模式可以与此处未覆盖或者提及的CHMOD一起使用。