在linux中使用chmod更改文件权限
在linux中使用chmod更改文件权限的方法
一、chmod
基本用法
chmod
是修改文件权限的命令。可以更改文件或目录的读、写、执行权限。其基本语法如下:
chmod [options] mode file
options
:是可选的,可以是一些额外的参数,用来指定修改权限的方式,例如-R
表示递归地修改目录及其子目录中的文件。mode
:是要修改的权限模式,用八进数字模式
或符号模式
或表示权限。数字模式是三个八进制数字,每个数字代表一个用户组的权限。符号模式使用字母和符号表示权限。file
:是要修改权限的文件或目录的名称。
二、八进制数字模式:
-
数字模式使用三个八进制数字(0-7),分别代表所有者(u)、群组(g)和其他用户(o)的权限。每个数字表示一个权限组,由三个位表示(读、写、执行)。
例如,
chmod 753 file.txt
表示:- 所有者(owner)有读、写、执行权限(7)。
- 群组(group)有读、执行权限(5)。
- 其他用户(others)有写、执行权限(3)。
三、符号模式:
符号模式具体的格式如下:
chmod [a][u][g][o]+|-|=[r][w][x] file
-
符号模式使用字母和符号表示权限,u表示用户(user),g(group),o(others),a(all)。
-
+(添加权限)、-(移除权限)和 =(设置权限)。
-
r表示可读(read),w表示可写(write),x表示可执行(execute)。
例如,
chmod u+x file.txt
表示为所有者添加执行权限。
四、一些常见的 chmod
用法:
- 递归修改目录及其子目录中的文件:
chmod -R 777 directory
注:
-r
的用法:-r与-p的使用 - 使文件具有执行权限:
chmod +x file.py
- 添加执行权限:
chmod a+x file.txt
- 设置为有执行权限,其他权限消失:
chmod u=x file.txt
五、其他用法:
- 设置 SUID 位:
chmod +s executable
- 设置 SGID 位:
chmod g+s directory
- 设置 sticky bit:
chmod +t directory
一般地:文件的所有者或超级用户有权限使用
chmod
命令。
六、用ll
显示的文件详细信息
-rwxrwxr-x 1 user user 0 12月 18 10:39 text.py*
-rwxrwxr-x
: 这是文件的权限部分,其中每个字符表示一组权限。- 第一个字符是文件类型和执行权限。在这里,
-
表示这是一个普通文件。若是d
则表示为路径(文件夹)。 - 而
rwx
表示文件所有者有读、写、执行权限,文件所属组有读、写、执行权限,其他用户有读和执行权限。
- 第一个字符是文件类型和执行权限。在这里,
1
: 这是硬链接数量。对于普通文件,通常是1。如果有硬链接,它会显示多于1的值。user
: 文件所有者的用户名。user
: 文件所属组的组名。0
: 文件的大小,以字节为单位。这里是0,可能是一个空文件。12月 18 10:39
: 文件的最后修改时间。text.py*
: 文件的名称。星号 (*) 表示这是一个可执行文件。