chmod 命令用于改变文件或目录的权限。权限定义了谁可以读取、写入或执行文件或目录。chmod 命令通过修改文件或目录的权限位来工作,这些权限位定义了文件或目录的拥有者、组和其他用户的访问权限。
- chmod [选项]... 模式[,模式]... 文件...
- chmod [选项]... 八进制模式 文件...
权限的表示方法
u(用户)、g(组)、o(其他)、a(所有)指定要更改权限的类别,以及 +(添加权限)、-(删除权限)、=(指定权限)来修改权限。例如,chmod u+x file 会给文件的所有者添加执行权限。chmod 755 file 会设置文件所有者有读、写和执行权限,而组用户和其他用户只有读和执行权限。使用符号模式更改权限
- chmod u+x,go-w file # 给文件所有者添加执行权限,并从组用户和其他用户中删除写权限
- chmod a+r file # 给所有用户添加读权限
使用八进制模式更改权限
- chmod 700 file # 文件所有者有读、写和执行权限,组用户和其他用户没有任何权限
- chmod 644 file # 文件所有者有读和写权限,组用户有读权限,其他用户有读权限
在这种使用方式中,首先我们需要了解数字如何表示权限。 首先,我们规定 数字 4 、2 和 1表示读、写、执行权限(具体原因可见下节权限详解内容),即 r=4,w=2,x=1 。此时其他的权限组合也可以用其他的八进制数字表示出来,
如:
rwx = 4 + 2 + 1 = 7
rw = 4 + 2 = 6
rx = 4 +1 = 5
即
若要同时设置 rwx (可读写运行) 权限则将该权限位 设置 为 4 + 2 + 1 = 7
若要同时设置 rw- (可读写不可运行)权限则将该权限位 设置 为 4 + 2 = 6
若要同时设置 r-x (可读可运行不可写)权限则将该权限位 设置 为 4 +1 = 5
上面我们提到,每个文件都可以针对三个粒度,设置不同的rwx(读写执行)权限。即我们可以用用三个8进制数字分别表示 拥有者 、群组 、其它组( u、 g 、o)的权限详情,并用chmod直接加三个8进制数字的方式直接改变文件权限。语法格式为 :
chmod <abc> file...
范例:
设置所有人可以读写及执行
chmod 777 file (等价于 chmod u=rwx,g=rwx,o=rwx file 或 chmod a=rwx file)
设置拥有者可读写,其他人不可读写执行
chmod 600 file (等价于 chmod u=rw,g=---,o=--- file 或 chmod u=rw,go-rwx file )
chmod 命令更改权限。chmod 更改目录的权限时,也会影响在该目录下创建的新文件和目录的默认权限,但这取决于 umask 设置。要查看文件或目录的当前权限,可以使用 ls -l 命令。这将列出文件和目录的详细信息,包括权限、所有者、组和大小等信息。