📜  chmod 文件 644 目录 755 - Shell-Bash (1)

📅  最后修改于: 2023-12-03 15:29:58.220000             🧑  作者: Mango

chmod 文件 644 目录 755

在Linux系统中,文件和目录都有访问权限的管理,而chmod命令就是用来修改这些权限的。具体讲解如下:

chmod命令

chmod命令用于修改文件或目录的访问权限。执行该命令需要具备对相应文件或目录的写权限。其语法格式如下:

chmod [选项] [模式] 文件或目录
选项

选项 | 说明 ---- | ---- -c | 如果发生了修改,则进行回显。 -v | 列出所有操作。 -R | 改变目录及其子目录下所有文件的权限。 -f | 忽略不存在的文件,不输出错误信息。

模式

文件/目录的访问权限分为读(r)写(w)执行(x)三种类型,分别用数字表示,如下所示:

数字 | 权限 ---- | ---- 0 | 不具有任何权限。 1 | 执行权限(x)。 2 | 写权限(w)。 3 | 写权限(w)和执行权限(x)。 4 | 读权限(r)。 5 | 读权限(r)和执行权限(x)。 6 | 读权限(r)和写权限(w)。 7 | 读权限(r)、写权限(w)和执行权限(x)。

需要注意的是,文件和目录的数字权限表示不一样。对于文件而言,权限分为所有者、所属组和其他人三类,而目录则包含一个额外的粘滞位(Sticky bit)。

具体来说,文件的数字权限可以写作[所有者权限][所属组权限][其他人权限]这种格式,而目录的数字权限的格式是[u/g/o][+/-/=][r/w/x]。其中,u表示所有者、g表示所属组、o表示其他人。"+"表示添加权限,"-"表示去除权限,"="表示设定为指定权限。比如,u+r表示给所有者添加读权限,o-w表示去除其他人写权限,g=x表示将所属组的执行权限设定为可执行。

实例

下面,我们来看一些具体的实例。

修改文件权限

要修改文件test.txt的权限为644,可以使用以下命令:

chmod 644 test.txt

这条命令把该文件的权限分别分配为6(所有者读写)、4(所属组只读)、4(其他人只读)。这通常用来保护敏感数据,使其只能被拥有者读写、设定需要访问的用户只能读文件而不能修改文件。

修改目录权限

要修改目录/var/log的权限为755,可以使用以下命令:

chmod 755 /var/log

这条命令将该目录的权限分别设定为rwxr-xr-x,这表示所有者具有读、写、执行权限,而所属组和其他人则只有读和执行权限。这通常用来保护目录下的文件,设定需要访问的用户可以读目录下文件列表而不能建立或删除文件。

更改文件的权限和所有者

要同时更改文件test.txt的权限为644且所有者为john,可以使用以下命令:

chmod 644 test.txt && chown john test.txt

这条命令把文件的权限设定为644,然后修改所有者为john。这通常用来更改文件的所有权和权限。

总结

以上就是chmod命令的详细介绍,可以根据实际需求来选取相应的权限。