乐趣区

关于linux:Linux之chmod命令

chmod 命令用于扭转 linux 系统文件或目录的拜访权限。用它管制文件或目录的拜访权限。该命令有两种用法。一种是蕴含字母和操作符表达式的文字设定法;另一种是蕴含数字的数字设定法。

Linux 零碎中的每个文件和目录都有拜访许可权限,用它来确定谁能够通过何种形式对文件和目录进行拜访和操作。

文件或目录的拜访权限分为只读,只写和可执行三种。以文件为例,只读权限示意只容许读其内容,而禁止对其做任何的更改操作。可执行权限示意容许将该文件作为一个程序执行。文件被创立时,文件所有者主动领有对该文件的读、写和可执行权限,以便于对文件的浏览和批改。用户也可依据须要把拜访权限设置为须要的任何组合。

有三种不同类型的用户可对文件或目录进行拜访:文件所有者,同组用户、其余用户。所有者个别是文件的创建者。所有者能够容许同组用户有权拜访文件,还能够将文件的拜访权限赋予零碎中的其余用户。在这种状况下,零碎中每一位用户都能拜访该用户领有的文件或目录。

每一文件或目录的拜访权限都有三组,每组用三位示意,别离为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;零碎中其余用户的读、写和执行权限。当用 ls - l 命令显示文件或目录的详细信息时,最右边的一列为文件的拜访权限。

命令格局

> chmod [-cfvR] [--help] [--version] mode file...

mode 参数

[ugoa...][[+-=][rwxX]...][,...]或者数字权限777,755

  • u 示意该文件的拥有者,g 示意与该文件的拥有者属于同一个群体 (group) 者,o 示意其余以外的人,a 示意这三者皆是。
  • +示意减少权限、-示意勾销权限、=示意惟一设定权限。
  • r 示意可读取,w示意可写入,x示意可执行,X示意只有当该文件是个子目录或者该文件曾经被设定过为可执行。

罕用参数

  • -c : 若该文件权限的确曾经更改,才显示其更改动作
  • -f : 若该文件权限无奈被更改也不要显示谬误讯息
  • -v : 显示权限变更的详细资料
  • -R : 对目前目录下的所有文件与子目录进行雷同的权限变更(即以递归的形式一一变更)
  • –help : 显示辅助阐明
  • –version : 显示版本

符号模式

chmod who operator permission file chmod u+x rumenz.txt

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 能够应用该位

数字权限(八进制)

chmod 命令能够应用八进制数来指定权限。文件或目录的权限位是由 9 个权限位来管制,每三位为一组,它们别离是文件所有者(User)的读、写、执行,用户组(Group)的读、写、执行以及其它用户(Other)的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为 1,用来阐明一个类具备相应的优先级。

\# 权限 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

常见的数字权限

  • 400 -r——– 拥有者可能读,其余任何人不能进行任何操作;
  • 644 -rw-r–r– 拥有者都可能读,但只有拥有者能够编辑;
  • 660 -rw-rw—- 拥有者和组用户都可读和写,其他人不能进行任何操作;
  • 664 -rw-rw-r– 所有人都可读,但只有拥有者和组用户可编辑;
  • 700 -rwx—— 拥有者可能读、写和执行,其余用户不能任何操作;
  • 744 -rwxr–r– 所有人都能读,但只有拥有者能力编辑和执行;
  • 755 -rwxr-xr-x 所有人都能读和执行,但只有拥有者能力编辑;
  • 777 -rwxrwxrwx 所有人都能读、写和执行(该设置通常不是好想法)。

chmod 实例

命令 阐明
chmod a+r file 给 file 的所有用户减少读权限
chmod a-x file 删除 file 的所有用户的执行权限
chmod a+rw file 给 file 的所有用户减少读写权限
chmod +rwx file 给 file 的所有用户减少读写执行权限
chmod u=rw,go= file 对 file 的所有者设置读写权限,清空该用户组和其余用户对 file 的所有权限(空格代表无权限)
chmod -R u+r,go-r docs 对目录 docs 和其子目录层次结构中的所有文件给用户减少读权限,而对用户组和其余用户删除读权限
chmod 664 file 对 file 的所有者和用户组设置读写权限, 为其其余用户设置读权限
chmod 0755 file 相当于 u =rwx(4+2+1),go=rx(4+1&4+1)。0 没有非凡模式。
chmod 4755 file 4 设置了设置用户 ID 位,剩下的相当于 u =rwx(4+2+1),go=rx(4+1&4+1)。
find path/ -type d -exec chmod a-x {} \; 删除可执行权限对 path/ 以及其所有的目录(不包含文件)的所有用户,应用 ’-type f’ 匹配文件
find path/ -type d -exec chmod a+x {} \; 容许所有用户浏览或通过目录 path/

原文链接:https://rumenz.com/rumenbiji/…
微信公众号: 入门小站

退出移动版