Linux命令学习之路——文档权限管理:chmod
使用权限:所有角色
使用方式:chmod [ -cfvR ] [ --help ] [ --version ] mode file...
作用:该命令用于在Linux中管理和变更角色对文档的存取权限
注意点:在Linux/Unix中档案存取权限分为三级:档案拥有者(u) / 群组(g) / 其他(o);chmod命令用于某个文档的存取权限进行设置
关键点:
1.全局控制 [ -cfvR ]
(1)-c : 若该档案权限已经发生更改,则显示其更改动作(发生改变时显示更改动作,没发生改变时不显示)
(2)-f : 若该文档权限无法变更,发生错误时不显示错误讯息(始终不显示错误讯息)
(3)-v : 显示权限变更的详细信息(始终显示变更信息)
(4)-R : 对当前目录下的所有档案与子目录进行相同的权限变更动作(递归变更)
2.--help : 显示命令帮助
3.--version : 显示当前命令版本
4.权限设定 mode 字符串格式 [ ugoa... ][[ +-= ][ rwxX ]...][ ,... ]
(1)[ ugoa... ] 用户
i. u表示该档案的拥有者,或者说是创建者
ii. g表示同该档案的拥有者同属一个群组的用户
iii. o表示除了拥有者和群组以外的人
iv. a表示所有人
(2)[ +-= ] 权限增减
i. +表示增加权限
ii. -表示取消权限
iii. =表示指定唯一权限
(3)[ rwxX ] 具体权限
i. r表示可读
ii. w表示可写
iii. x表示可执行
iv. X表示只有该文档是个子目录或者被设定过为可执行时,该文件可执行
使用示例:
1.将档案file1.txt设为所有人可读取
(1)chmod ugo+r file1.txt
(2)chmod a+r file1.txt
2.将档案file1.txt设置为只有其拥有者和拥有者所属群组可写,其他以外的人不可写
chmod ug+w,o-w file1.txt
3.将档案hello.java设置为只有其拥有者才能执行
chmod u+x hello.java
4.将当前目录下的所有档案和子目录设为所有人都可以读取
(1)chmod -R ugo+r *
(2)chmod -R a+r *
扩展使用方式:
1.语法 : chmod abc file
2.说明 : abc分别代表User/Group/Other的权限,abc的值由其读写和可执行权限的值之和表示,其中r=4,w=2,x=1,其计算方式可以用下图来表示
| r(4) | w(2) | x(1) | 权限值 | |
| u(User) | r1 | w1 | x1 | r1+w1+x1 |
| g(Group) | r2 | w2 | x2 | r2+w2+x2 |
| o(Other) | r3 | w3 | x3 | r3+w3+x3 |
3.使用示例
(1)将档案file1.txt设置为只有其拥有者和拥有者所属群组可写,其他以外的人不可写
原方式 : chmod ug+w,o-w file1.txt
扩展方式 : chmod 220 file1.txt
(2)chmod a=rwx file1.txt
扩展方式 : chmod 777 file1.txt
(3)chmod ug=rwx,o=x file1.txt
扩展方式 : chmod 771 file1.txt
总结:chmod命令用于改变文档的读写和可执行权限,其全称为change mode;chmod命令由两部分组成,一是全局控制 [ -cfvR ],二是权限控制 mode ;其中,权限控制字符串的表示有两种方式,一是通过[ ugoa ][[+-=][rwxX]...][,...]的形式,二是通过 chmod abc filename 的形式;用户可根据自己的习惯进行选择;如果用户需要把文档设置为root用于方可操作和读写,不妨试试 chmod 4755 filename;
Linux命令学习之路——文档权限管理:chmod的更多相关文章
- Linux命令学习之路——文档连接创建:ln
使用权限:所有角色 使用方式:ln [ -options ] source target 作用:建立源文件与目标文件之间的连接 注意点: 1.连接分为硬连接和软连接,其中硬连接不能对目录做硬连接,且不 ...
- Linux命令学习之路-文档浏览之less
使用权限:所有角色 使用方式:less [ options ] filename 作用:文档内容浏览,可向前或者向后浏览文档内容 注意点: 1.less 命令和 more 命令的作用大致相同,less ...
- Linux命令学习之路——变更文档拥有者:chown
使用权限:root用户 使用方式:chown [ -cvfRh ] [ --help ] [ --version ] user[ :group ] file... 作用:该命令用于改变文档的拥有者 注 ...
- Linux命令学习之路——档案拷贝:cp
使用权限:所有角色 使用方式:cp [ -arf ] source dest / cp [ -arf ] source... Directory 作用:把一个档案拷贝到另一个档案(档案复制),或将多个 ...
- Linux命令学习之路——内容剪切:cut
使用者:所有角色 用法:cut [ -bcdfn ] [ --complement ] filename 作用:截取文件中的部分字段用于展示或存储到新文件中 应用场景: 1.内容展示 : 截取一个或多 ...
- Linux命令学习之路——变更工作目录:cd
使用权限:所有角色 使用方式:cd [ targetDir ] 作用:该命令用于在Linux中切换工作目录 注意点: 1.targetDir代表目标目录,可以采用绝对路径或相对路径表示: 2.当tar ...
- 别出心裁的Linux命令学习法
别出心裁的Linux命令学习法 操作系统操作系统为你完成所有"硬件相关.应用无关"的工作,以给你方便.效率.安全.操作系统的功能我总结为两点:管家婆和服务生: 管家婆:通过进程.虚 ...
- 《Linux命令学习手册》系列分享专栏
<Linux命令学习手册>系列分享专栏 <Linux命令学习手册>已整理成PDF文档,点击可直接下载至本地查阅https://www.webfalse.com/read/207 ...
- linux命令学习笔记(25):linux文件属性详解
Linux 文件或目录的属性主要包括:文件或目录的节点.种类.权限模式.链接数量.所归属的用户和用户组. 最近访问或修改的时间等内容.具体情况如下: 命令: ls -lih 输出: [root@loc ...
随机推荐
- js获取当前iframe的ID
self.frameElement.getAttribute('id');其他属性也可以通过这种方式获取. 也可以通过 window.frameElement.id 获取当前iframe的ID
- burpsuite拦截https数据包(Firefox)
1.配置浏览器对http/https都使用burpsuite代理 http和https是分开的,对http使用了代理并不代表对https也使用了代理,要配置浏览器让其对https也使用同样的代理. 当 ...
- Java 9中新的货币API
译文出处: Java译站 原文出处:Michael Scharhag JSR 354定义了一套新的Java货币API,计划会在Java 9中正式引入.本文中我们将来看一下它的参考实现:JavaMo ...
- 逆袭之旅DAY20.xia.师父指导.数据类型
2018-07-16 09:35:57 基础是王道 从码农--软件工程师--软件架构师 String 首字母大写,特殊引用类型,常量类 二.数组 存钱罐(只能放钱) 数据兼容 数组的长度(定义后长度 ...
- laravel中的plicy授权方法:
1.用命令新建policy: php artisan make:policy PostPolicy 2.在app/Policies/PostPolicy.php中添加处理文件的权限的方法: //修改: ...
- 这本小书的目的是引导你进入 React 和 Webpack 的世界。他们两个都是非常有用的技术,如果同时使用他们,前端开发会更加有趣。
https://fakefish.github.io/react-webpack-cookbook/index.html
- 安装Adobe Acrobat XI Pro
从网上下载Adobe Acrobat XI Pro这款软件,下载后将其解压到我们的电脑上,然后找到setup.exe双击安装它,安装时选择“使用试用版本或订阅” 2 选择“自定义” 自定义安装组件 ...
- mybatis generator工具的使用
mybatis反转数据库的配置文件: generatorConfig.xml: <?xml version="1.0" encoding="UTF-8"? ...
- c# async/await异步编程死锁的问题
在异步编程中,如果稍有不注意,就会造成死锁问题.何为死锁:即两个以上的线程同时争夺被互相锁住的资源,两个都不放手. 在UI或asp.net中,容易造成死锁的代码如下所示: private void b ...
- SignalR 前期简单配置
一.随便你在哪个命名空间下新建一个Startup类,并在在该类中注册SignalR. using Owin; using System; using System.Collections.Generi ...