Linux基础命令---chmod
chmod
改变文件或者目录的权限,可以用数字或者字母来标识权限。在数字模式下:0,代表没有权限;1,代表可执行;2,代表可读;4,代表可写;多个权限可以相加。在字符模式下:x,代表执行;r,代表读;w,代表写;g,代表组权限;o,代表组内其他用户权限;u,代表用户权限ls命令中,看到的权限分别是:用户权限、组权限、组内其他用户权限。
此命令的适用范围:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。
1、语法
chmod [选项] mode file
chmod [选项] 八进制模式 file
chmod [选项] –reference=RFILE file
2、选项列表
|
选项 |
说明 |
|
--version |
显示命令版本信息 |
|
--help |
显示帮助文档 |
|
-c | --changes |
和verbose一样,但是只有在发生改变的时候才显示详细信息 |
|
--preserve-root |
禁止对根目录递归炒作 |
|
--no-preserve-root |
不特殊对待根目录,默认值 |
|
-f | --silent | --quiet |
忽略部分错误信息 |
|
--reference=file |
使用关联文件所属的组 |
|
-v | --verbose |
显示详细信息 |
|
-R | --recursive |
用递归的方式改变所有的目录和子目录 |
3、说明
chmod根据模式更改每个给定文件的文件模式位,该模式可以是要进行的更改的符号表示,也可以是表示新模式位的位模式的八进制数。符号模式的格式是[ugoa...][[+-=][perms...]...],其中perms为集合rwxXst的零个或多个字母,或来自结合ugo的单个字母。可以给出多种符号模式,用逗号分隔。
字母ugoa控制哪些用户访问文件的权限将被更改:(u)拥有该文件的用户、(g)文件组中的其他用户、(o)不属于文件组的其他用户或所有用户(A)。如果所有这些都没有给出,那么效果就好像给定了“a”,但是在umask中设置的位不受影响。
运算符‘+’使所选的文件模式位被添加到每个文件的现有文件模式位中;‘-’使它们被删除;‘=‘使它们被添加,并使未提及的位被删除,除非目录的未提及的设置用户和组ID位不受影响。
字母“rwxXst”为受影响的用户选择文件模式位:(r)读、(w)写、(x)执行(或搜索目录)、(X)只在文件是目录或已对某些用户具有执行权限、(s)在执行时设置用户或组ID、(t)限制删除标志或粘性位时执行/搜索。您可以指定“ugo”其中的一个或多个字母:(u)授予拥有文件的用户的权限,(g)授予属于文件组的其他用户的权限,(o)授予上述两个类别中任何一个用户的权限。
数字模式是1到4个八进制数字(0-7),通过将值4、2和1的位相加而得。省略的数字被假定为前导零。第一个数字选择设置用户ID(4)和设置组ID(2),并限制删除或粘贴(1)属性。第二位数为拥有该文件的用户选择权限:读(4)、写(2)和执行(1);第三位数选择文件组中具有相同值的其他用户的权限;第四位数字选择对不属于文件组的其他用户具有相同值的权限。
chmod从不更改符号链接的权限;chmod系统调用不能更改它们的权限。这不是一个问题,因为符号链接的权限从未被使用过。但是,对于命令行中列出的每个符号链接,chmod会更改指向文件的权限。相反,chmod忽略递归目录遍历过程中遇到的符号链接。
4、设置uid和gid
如果文件的组ID与用户的有效组ID或用户的辅助组ID不匹配,则chmod将清除常规文件的“set-group-ID”位,除非用户具有适当的权限。附加限制可能导致MODE或RFILE的“set-user-ID”和“set-group-ID”位被忽略.此行为取决于底层chmod系统调用的策略和功能。当有疑问时,检查底层系统行为。
chmod保留目录的“set-user-ID”和“set-group-ID”位,除非您显式地另外指定。您可以使用“u+s”和“g-s”这样的符号模式设置或清除位,也可以用数字模式设置(但不清楚)这些位。
5、限制删除标志或粘性位
受限制的删除标志或粘性位是一个位,其解释取决于文件类型。对于目录,它防止非特权用户删除或重命名目录中的文件,除非他们拥有该文件或目录;这称为目录的限制删除标志,通常在/tmp之类的可写目录中找到。对于一些旧系统上的常规文件,这一位将程序的文本映像保存在交换设备上,以便在运行时更快地加载;这称为粘性位。
6、实例
1)修改文件的权限为最大值
|
|
2)设置组和其他用户只读,使用字符模式设置
|
|
做了一个Linux学习的平台,目前出来一个雏形,各位可以参考使用
链接:https://pan.baidu.com/s/1GOLVU2CbpBNGtunztVpaCQ 密码:n7bk

Linux基础命令---chmod的更多相关文章
- 第四节,Linux基础命令
第四节,Linux基础命令 命令是系统操作员对系统传入的指令,传入指令后回车,系统接收到指令做出相应的行为 1.查看用户位于系统什么位置 [pmd]检查操作用户位于系统的什么位置 命令 ...
- 【Python之路】第一篇--Linux基础命令
pwd 命令 查看”当前工作目录“的完整路径 pwd -P # 显示出实际路径,而非使用连接(link)路径:pwd显示的是连接路径 . 表示当前目录 .. 表示上级目录 / 表示根目录 ls ...
- linux基础命令:
linux基础命令: 显示 echo 输出我写的内容 ls 查看当前目录的文件 pwd 查看当前目录 ifconfig 查看网卡信息 grep 过滤 -v 取反 -n man 查看命令的帮助信息 md ...
- 常用的linux基础命令
常用的linux基础命令 1.ls 显示目录属性 -l:(也可以简写成ll),列表显示权限等属性 -a:显示所有文件包括隐藏文件等 -d:只列出目录本身 2.chgrp 改变档案所属群组 eg:chg ...
- Linux基础命令-文件与目录
Linux基础命令-文件与目录 参考:<鸟哥linux私房菜>五-七章,17/12/5复习,18/01/15复习 文件权限 rwx421:用户,用户组,其他 umask查看默认权限:000 ...
- Linux基础命令回顾
前言 说到linux基础命令,网上一搜一箩筐,想学也有很多教程,如果你不幸看到此篇文章,想看就认真看完,毕竟你点进来了不是嘛? 我每次写的文章都是为了分享自己的学习成果或重要知识点,希望能帮助更多的人 ...
- Linux基础命令和文件权限
Linux命令与文件权限 Linux基础命令 reboot 重启 cd 切换目录 cd .. 回到上一级目录 cd ~ 回到主目录 cd / ...
- [转帖]linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习)
linux常用命令大全(linux基础命令入门到精通+实例讲解+持续更新+命令备忘录+面试复习) https://www.cnblogs.com/caozy/p/9261224.html 总结的挺好的 ...
- Linux基础命令小结(超全!!)
Linux目录结构 1.bin 存放经常使用的指令比如ll,cp 2.sbin 系统管理员使用的系统管理指令 3.home 存放普通用户的住目录 4.root 系统管理员的用户主目录 5.boot 存 ...
随机推荐
- iOS - 利用 iTunes 接口检查 App 版本更新
iOS 想要检查 App 当前版本是否为最新,一般的方案大概都是服务器自己提供一个接口来获取 App 最新版本是多少,然后再做出相应提示是否需要更新,但是接口需要手动维护,应用要审核,还得等审核通过以 ...
- iOS - 指定UIView的某几个角为圆角
如果需要将UIView的4个角全部都为圆角,做法相当简单,只需设置其Layer的cornerRadius属性即可(项目需要使用QuartzCore框架).而若要指定某几个角(小于4)为圆角而别的不变时 ...
- yii的安装
1.安装composer windows系统直接下载Composer-Setup.exe 运行安装. 2.安装Composer asset plugin composer安装完成后,在一个可通过web ...
- 9.11 Django关于母版语言的灵活用法
2018-9-11 12:45:38 还是这个连接 : http://www.cnblogs.com/liwenzhou/p/7931828.html 注意: 这节讲的是 母版语言的灵活用法! 可 ...
- Druid在有赞的实践
转载一篇自己在公司博客上的文章 一.Druid介绍 Druid 是 MetaMarket 公司研发,专为海量数据集上的做高性能 OLAP (OnLine Analysis Processing)而设计 ...
- python----字符编码与文件处理
字符编码 计算机工作就要通电,也就是说‘电‘驱使计算机干活,而电只有高电压(二进制1),低电压(二进制0),也就是说计算机只认数字. 编程的目的就是让计算机干活,编程的结果就是一堆字符,也就是我们编程 ...
- POJ-1959 Darts
Darts Time Limit: 1000MS Memory Limit: 30000K Total Submissions: 1286 Accepted: 741 Description Back ...
- Django单元测试简单示例
对一个功能的验证往往是需要很多多测试用例,可以把测试用例集合在一起执行,这就产生了测试套件TestSuite 的概念,它是用来组装单个测试用例,规定用例的执行的顺序,而且TestSuite也可以嵌套T ...
- thinkphp 如何查询数据库
在控制器中使用M(); 数据表: 一.查询方式 1.字符串作为条件 2.使用索引数组作为条件查询条件 //可以更改逻辑关系 $condition['_logic'] = 'OR'; 二.表达式查询 三 ...
- UVA 11136 Hoax or what (multiset)
题目大意: 超时进行促销.把账单放入一个箱子里 每次拿取数额最大的和最小的,给出 最大-最小 的钱. 问n天总共要给出多少钱. 思路分析: multiset 上直接进行模拟 注意要使用long lo ...