模板: Raspberry-pi-chmod
来自Waveshare Wiki
chmod
- chmod命令是控制用户对文件的权限的命令。
- Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。
- 在下图中,显示了Linux根目录下的详细文件信息。在这些文件信息中, 最重要的就是第一列,它详细描述了文件和目录的权限,而第三与第四列则显示了这个文件和目录属于哪一个用户或组。
- Linux的文件属性可以分为三种:只读(r)、写(w)和可执行(x)。但是上面的文件属性却分为10小格,这是因为除了第一格显示目录外,另外三组每组三格分别表示文件所有者权限、同一组内的权限以及其他用户权限。
- 第一栏中如果显示d,则表示这是一个目录;如果是链接文件,则在这里显示l;如果是设备文件,则显示c。
- 第一个rwx栏位:-rwx------ 表示文件拥有者所拥有的权限。
- 第二个rwx栏位:---rwx--- 表示同一工作组内用户权限。
- 第三个rwx栏位:------rwx 表示其他用户权限。
- 例如:
- -rwx rwx rwx 表示无论哪个用户都可以对这个文件读写与执行。
- -rw- --- --- 表示只有文件拥有者有读写权限,但是没有执行权限。
- -rw -rw -rw 表示所有用户都有读写权。
- 符号模式
-
who(用户类型)
who 用户类型 说明 u user 文件所有者 g group 文件所有者所在组 o others 所有其他用户 a all 所用用户, 相当于 ugo
-
operator(符号模式表)
Operator 说明 + 为指定的用户类型增加权限 - 去除指定用户类型的权限 = 设置指定用户权限的设置,即将用户类型的所有权限重新设置
-
permission 的符号模式表
模式 名字 说明 r 读 设置为可读权限 w 写 设置为可写权限 x 执行权限 设置为可执行权限 X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行 s setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限 t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位
-
符号模式实例
- 给file的所有用户增加读权限
chmod a+r file
- 删除file的所有用户的执行权限
chmod a-x file
- 给file的所有用户增加读写权限
chmod a+rw file
- 给file的所有用户增加读写执行权限
chmod +rwx file
- 对file的所有者设置读写权限,清空该用户组和其他用户对file的所有权限(空格代表无权限)
chmod u=rw,go= file
- 对目录waveshare和其子目录层次结构中的所有文件给用户增加读权限,而对用户组和其他用户删除读权限
chmod -R u+r,go-r waveshare
- 给file的所有用户增加读权限
-
who(用户类型)
- 八进制语法
-
chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。
# 权限 rwx 二进制 7 读 + 写 + 执行 rwx 111 6 读 + 写 rw- 110 5 读 + 执行 r-x 101 4 只读 r-- 100 3 写 + 执行 -wx 011 2 只写 -w- 010 1 只执行 --x 001 0 无 --- 000
-
例如:765的解释如下:
- 所有者的权限用数字表达:属主的那三个权限位的数字加起来的总和。如 rwx ,也就是 4+2+1 ,应该是 7。
- 用户组的权限用数字表达:属组的那个权限位数字的相加的总和。如 rw- ,也就是 4+2+0 ,应该是 6。
- 其它用户的权限数字表达:其它用户权限位的数字相加的总和。如 r-x ,也就是 4+0+1 ,应该是 5。
-
常用的数字权限
- 400 -r-------- 拥有者能够读,其他任何人不能进行任何操作;
- 644 -rw-r–r-- 拥有者都能够读,但只有拥有者可以编辑;
- 660 -rw-rw---- 拥有者和组用户都可读和写,其他人不能进行任何操作;
- 664 -rw-rw-r-- 所有人都可读,但只有拥有者和组用户可编辑;
- 700 -rwx------ 拥有者能够读、写和执行,其他用户不能任何操作;
- 744 -rwxr–r-- 所有人都能读,但只有拥有者才能编辑和执行;
- 755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者才能编辑;
- 777 -rwxrwxrwx 所有人都能读、写和执行(该设置不建议使用)。
-
实例
- 给file的所有用户增加读权限,拥有者和组用户可编辑权限
sudo chmod 664 file
- 给file的所有用户增加读权限,拥有者和组用户可编辑权限
-
chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。