linux可以改变文件的权限吗

2022年6月12日 31点热度 0人点赞

linux可以改变文件的权限。在linux中,可以利用chmod命令来修改文件权限,语法“chmod [-cfvR] [--help] [--version] mode file...”;chmod会根据mode值来更改每个给定文件的文件模式位,mode值可以是要进行更改的符号模式表示,也可以是表示新模式位的位模式的八进制数。

linux可以改变文件的权限吗插图

本教程操作环境:linux7.3系统、Dell G3电脑。

文件权限对于一个系统是很重要的,且每个文件都设定了针对不同用户的访问权限,那么,是否可以手动修改文件的访问权限呢?

在linux中,可以利用chmod命令来修改文件权限。下面带大家了解一下chmod命令。

一、chmod命令简介

Linux chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令。

chmod根据mode更改每个给定文件的文件模式位,mode可以是要进行更改的符号模式表示,也可以是表示新模式位的位模式的八进制数。

符号模式的格式为[ugoa…][±=][perms…][…],其中perms为集合rwxXst中的零个或多个字母,或集合ugo中的单个字母。可以给出多个符号模式,用逗号分隔。

字母ugoa的组合控制哪些用户对文件的访问将被更改:拥有该文件的用户(u)、文件组中的其他用户(g)、不在文件组中的其他用户(o)或所有用户(A)。

如果这些都没有给出,效果就好像给出了a,但umask中设置的位不受影响。chmod从不更改符号链接的权限;chmod系统调用无法更改其权限。

二、权限介绍

  Linux/Unix 的文件调用权限分为三级 : 文件所有者(Owner)、用户组(Group)、其它用户(Other Users)。

1.jpg

  只有文件所有者和超级用户可以修改文件或目录的权限。可以使用绝对模式(八进制数字模式),符号模式指定文件的权限。

2.png

权限符号 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限
X 特殊执行权限 只有当文件为目录文件,或者其他类型的用户有可执行权限时,才将文件权限设置可执行
s setuid/gid 当文件被执行时,根据who参数指定的用户类型设置文件的setuid或者setgid权限
t 粘贴位 设置粘贴位,只有超级用户可以设置该位,只有文件所有者u可以使用该位

三、使用示例

1、获取命令帮助信息

[root@s141 ~]# chmod --help

2、查看命令版本

[root@s141 ~]# chmod --version
 chmod (GNU coreutils) 8.22
 Copyright © 2013 Free Software Foundation, Inc.
 License GPLv3+: GNU GPL version 3 or later http://gnu.org/licenses/gpl.html.
 This is free software: you are free to change and redistribute it.
 There is NO WARRANTY, to the extent permitted by law.
 Written by David MacKenzie and Jim Meyering.

3、给所有用户增加文件执行权限

chmod a+x 1.txt

4、取消其他用户的执行权限

chmod o-x 1.txt

5、使用八进制数值整体设置权限

[root@s141 ~]# chmod 751 1.txt

6、递归设置目录及文件权限

[root@s141 ~]# chmod -R 760 /home/test

7、显示权限修改的详细信息

[root@s141 ~]# chmod -Rv 760 /home/test
 mode of ‘/home/test’ retained as 0760 (rwxrw----)
 mode of ‘/home/test/.bash_logout’ retained as 0760 (rwxrw----)
 mode of ‘/home/test/.bash_profile’ retained as 0760 (rwxrw----)
 mode of ‘/home/test/.bashrc’ retained as 0760 (rwxrw----)
 mode of ‘/home/test/1’ retained as 0760 (rwxrw----)
 mode of ‘/home/test/2’ retained as 0760 (rwxrw----)

8、只有权限发生改变时显示

在这里插入图片描述

9、使用符号设置权限

[root@s141 ~]# chmod o=r,u=rwx,g=rx 1.txt

10、给目录设置t权限

3.png

四、使用语法及参数说明

1、使用语法

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

用法一:chmod 权限 文件

用法二:chmod 参数 权限 文件

2、参数说明

参数 参数说明
-c 若该文件权限确实已经更改,才显示其更改动作
-f 若该文件权限无法被更改也不要显示错误讯息
-v 显示权限变更的详细资料
-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递归的方式逐个变更)
–help 显示辅助说明
--version 显示版本

3、操作符说明

Operator 说明
+ 为指定的用户类型增加权限
- 去除指定用户类型的权限
= 设置指定用户权限的设置,即将用户类型的所有权限重新设置

4、用户符号

who 用户类型 说明
u user 文件所有者
g group 文件所有者所在组
o others 所有其他用户
a all 所用用户, 相当于 ugo

相关推荐:《Linux视频教程》

99君

这个人很懒,什么都没留下