文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Linux 之 chmod 命令

2024-12-14 00:43

关注

而Linux/Unix的文件存取权限分为三级 : 文件所有者、用户组及其他,分别使用以下字母来表示:

如下图所示,每个级别都可以设置为rwx三种权限 。

改命令官方的解释为:

change mode

所以可以通过chmod来控制文件如何被他人所存取。

使用的语法如下所示: 

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

其中mode权限设定的格式如下 : [ugoa] [+-=] [rwxX]

其中u表示该文件的拥有者,g表示与该文件的拥有者属于同一个群体(group)者,o表示其他以外的人,a表示这三者皆是。

对于chmod的使用而言,只有文件所有者和超级用户可以修改文件或目录的权限。

具体的方法为可以使用符号模式或者绝对模式来进行操作。

而我比较喜欢用的是绝对数字模式,比较粗暴简单。

符号模式

使用符号模式需要考虑多个因素,其中包括用户类型,操作符 和设定权限。

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

operator 的符号模式表:

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

permission 的符号模式表:

模式 名字 说明
r 设置为可读权限
w 设置为可写权限
x 执行权限 设置为可执行权限

绝对数字模式

chmod命令可以使用八进制数来指定权限。文件或目录的权限位是由9个权限位来控制,每三位为一组,它们分别是文件所有者的读、写、执行权限,用户组的读、写、执行以及其它用户的读、写、执行。历史上,文件权限被放在一个比特掩码中,掩码中指定的比特位设为1,用来说明一个类具有相应的优先级。比如下面的0-7分别表示各自的权限定义。

No 权限 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

如表所示:

其他类似。 

实例更改为全部可读

接下来将文件 a.c 设为所有人皆可读取 ,有三种方式可以使用,如下,分别为 :

  1.  chmod ugo+r filename
  2.  chmod a+r filename
  3.  chmod 444 filename

具体如下所示:

通过方法1: 

  1. # 默认设定为没有任何属性  
  2. $ ll 
  3. ----------  1 user  user     5KB  Feb  12 22:22 a.c  
  4. # 更改为全部可读  
  5. $ chmod ugo+r file1.txt  
  6. $ ll  
  7. -r--r--r--  1 user  user     5KB  Feb  12 22:22 a.c 

通过方法2: 

  1. # 默认设定为没有任何属性  
  2. $ ll  
  3. ----------  1 user  user     5KB  Feb  12 22:23 a.c  
  4. # 更改为全部可读  
  5. $ chmod a+r file1.txt  
  6. $ ll  
  7. -r--r--r--  1 user  user     5KB  Feb  12 22:23 a.c 

通过方法3: 

  1. # 默认设定为没有任何属性  
  2. $ ll  
  3. ----------  1 user  user     5KB  Feb  12 22:23 a.c  
  4. # 更改为全部可读  
  5. $ chmod 444 file1.txt  
  6. $ ll  
  7. -r--r--r--  1 user  user     5KB  Feb  12 22:24 a.c  

 设置用户及组可读写,其他用户无法写入但可以查看

接下来继续把文件 a.c设置为用户 和组可以读写,而其他 用户无法写入但是 可以查看 。

使用符号模式如下: 

  1. $ ll  
  2. -r--r--r--  1 user  user     5KB  Feb  12 22:24 a.c  
  3. $ chmod ug+rw,o+r,o-w a.c  
  4. $ ll  
  5. -rw-rw-r--  1 user  user     5KB  Feb  12 22:26 a.c 

使用数字模式如下: 

  1. $ ll  
  2. -r--r--r--  1 user  user     5KB  Feb  12 22:24 b.c  
  3. $ chmod 664 a.c  
  4. $ ll  
  5. -rw-rw-r--  1 user  user     5KB  Feb  12 22:26 b.c    

设定为所有人只有可执行权限

此时不管文件的权限是什么,因为只具有可执行权限,所以符号模式可以使用=,而数字模式只需要1即可,如下: 

  1. $ chmod a=x filename  
  2. #或者  
  3. $ chmod 111 filename  
  4. # 无法读取  
  5. $ cat a.c  
  6. cat: a.c: Permission denied 

所以对于只有可执行权限的文件,是无法执行读取或者写入操作的,这也保证了文件的安全性。 

 

来源:我们编程吧内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯