chmod修改权限
1、命令简介
chmod(Change mode) 用来将每个文件的模式更改为指定值。Linux/Unix 的档案调用权限分为三级 : 档案拥有者、群组、其他。
- u :目录或者文件的当前的用户
- g :目录或者文件的当前的群组
- o :除了目录或者文件的当前用户或群组之外的用户或者群组
- a :所有的用户及群组
Linux的文件基本上分为三个属性:可读(r),可写(w),可执行(x)。另外,有一些程序属性的执行部分不是x,而是s,这表示执行这个程序的使用者,临时可以有和拥有者一样权力的身份来执行该程序。
- [root@oracledb dir1]# ls -l backup.sh
- -rwxr-xr-x 1 root root 0 4月 24 15:04 backup.sh
以rwx(Owner)r-x(Group)r-x(Other)为例:这个例子表示的权限是:使用者自己可读,可写,可执行;同一组的用户可读,不可写,可执行;其它用户可读,不可写,可执行。
权限对文件的重要性
- r (read):可读取此一文件的实际内容,如读取文本文件的文字内容等;
- w (write):可以编辑、新增或者是修改该文件的内容(但不含删除该文件);
- x (execute):该文件具有可以被系统执行的权限。linux下文件是否可以执行和扩展名无关
权限对目录的重要性

- r (read contents in directory):
- 表示具有读取目录结构列表的权限,所以当你具有读取(r)一个目录的权限时,表示你可以查询该目录下的文件名数据。 所以你就可以利用 ls 这个指令将该目录的内容列表显示出来!
- w (modify contents of directory):
- 表示你具有移动该目录结构列表的权限,也就是底下这些权限:
- 建立新的文件与目录;
- 删除已经存在的文件与目录(不论该文件的权限为何!)
- 将已存在的文件或目录进行更名;
- 搬移该目录内的文件、目录位置。
- x (access directory):
- 目录不可以被执行,目录的x代表的是用户能否进入该目录成为工作目录的用途! 所谓的工作目录(work directory)就是你目前所在的目录!举例来说,当你登入Linux时, 你所在的家目录就是你当下的工作目录。而变换目录的指令是cd(change directory)!

权限的数字表示法
- r 读取权限,数字代号为“4”;
- w 写入权限,数字代号为“2”;
- x 执行或切换权限,数字代号为“1”;
2、用法
- 用法:chmod [选项]... 模式[,模式]... 文件...
- 或:chmod [选项]... 八进制模式 文件...
- 或:chmod [选项]... --reference=参考文件 文件...
1、文字设定法:
2、数字设定法
按照顺序(u)(g)(o),将权限转换成3个从0到7的八进制数字,如若要rwx属性则4+2+1=7 ; 若要rw-属性则4+2=6;
- chmod 3个从0到7的八进制数 文件或目录
3、选项

- -c, --changes 类似 --verbose,但只在有更改时才显示结果
- --no-preserve-root 不特殊对待根目录(默认)
- --preserve-root 禁止对根目录进行递归操作
- -f, --silent, --quiet 去除大部份的错误信息
- -v, --verbose 为处理的所有文件显示诊断信息
- --reference=参考文件 使用指定参考文件的模式,而非自行指定权限模式
- -R, --recursive 以递归方式更改所有的文件及子目录
- --help 显示此帮助信息并退出
- --version 显示版本信息并退出
- 每种 MODE 都应属于这类形式"[ugoa]*([-+=]([rwxXst]*|[ugo]))+"。

4、示例
示例1:查看权限
- [root@oracledb dir1]# ls -l
- 总用量 0
- -rw-r--r-- 1 root root 0 4月 24 15:04 backup.sh
示例2:将backup.sh设定为只有该档案拥有者可以执行
- chmod u+x backup.sh
示例3:同时修改不同用户权限
- chmod ug+w,o-x backup.sh
示例4:删除文件权限
- chmod a-x backup.sh
示例5:使用“=”设置权限
- chmod u=x backup.sh
示例6、根据数字修改权限
- chmod 744 backup.sh
示例7、将目前目录下的所有档案与子目录皆设为任何人可读取 :
- chmod -R a+r *
示例8、将backup2.sh的权限改为和backup1.sh相同

- [root@oracledb dir1]# ll
- 总用量 0
- -rwxr-xr-x 1 root root 0 4月 24 15:04 backup1.sh
- -rw-r--r-- 1 root root 0 4月 25 20:27 backup2.sh
- [root@oracledb dir1]# chmod --reference=backup1.sh backup2.sh
- [root@oracledb dir1]# ll
- 总用量 0
- -rwxr-xr-x 1 root root 0 4月 24 15:04 backup1.sh
- -rwxr-xr-x 1 root root 0 4月 25 20:27 backup2.sh
chmod修改权限的更多相关文章
- Linux系统(和mac系统)chmod修改权限总结
在 Mac 系统的终端上修改文件权限使用的是 Linux 中的 chmod 命令. chmod 用户+操作+权限+文件 用户部分:使用字母 u 表示文件拥有者(user),g 表示拥有者所在群组(gr ...
- Ubuntu批量修改权限
Ubuntu中有两个修改命令可以用到,「change mode」&「change owner」 即chmod以及chown,其中可以用递归参数-R来实现更改所有子文件和子目录的权限. 1.利用 ...
- Linux权限详解 命令之 chmod:修改权限
权限简介 Linux系统上对文件的权限有着严格的控制,用于如果相对某个文件执行某种操作,必须具有对应的权限方可执行成功. Linux下文件的权限类型一般包括读,写,执行.对应字母为 r.w.x. Li ...
- Linux下chmod 777 修改权限
在linux操作系统下,使用shell命令来操作: 关于权限的问题用chmod命令来修改权限 -rw-r-r-- 1 root root 可参考:http://zhidao.baidu.com/lin ...
- Ubuntu下修改权限时出现"unable to execute /bin/chmod: Argument list too long"
Ubuntu14.04下修改权限时出现"unable to execute /bin/chmod: Argument list too long" ,大概意思是卧槽,你这参数也 ...
- chmod命令用法详解-chmod修改目录权限
chmod用法: 用来修改某个目录或文件的访问权限. 语法: chmod [-cfvR] [--help] [--version] [who] [+ | - | =] [mode] 文件名 例子: ...
- Linux的文件访问权限及修改权限命令chmod
http://www.linuxso.com/command/chmod.html Linux的文件访问权限及修改权限命令chmod Mxx000 Mxx000 人赞同了该文章 Linux的文件访问权 ...
- linux ,mac连接, git pull error, chmod修改文件的权限/chown修改文件和目录的所有者
去项目目录下 启动服务 setsid npm start & Mac下如何用SSH连接远程Linux服务器 https://www.cnblogs.com/littleBit/p/536280 ...
- 学习Shell脚本编程(第2期)_编写修改权限及执行Shell程序的步骤
编写Shell程序 执行Shell程序 Shell程序有很多类似C语言和其他程序设计语言的特征,但是又没有程序语言那样复杂.Shell程序是指放在一个文件中的一系列Linux命令和实用程序.在执行的时 ...
随机推荐
- L255 Learning to say no brings a thrill of freedom
I am not sure who came up with that thing about never saying yes to something in the distant future ...
- Flask源码阅读-第三篇(flask\_compat.py)
源码 # -*- coding: utf-8 -*-""" flask._compat ~~~~~~~~~~~~~ Some py2/py3 compatibility ...
- 元组类型&字典类型
一.元组 元组:是一个不可变的列表 用途:当需要记录多个同种属性的值,并且只有读没有改的需求是,这时候应该用到元组 定义方式:在()内用逗号费隔开多个任意类型的元素 ***注意*** 当元组只 ...
- Arrays.copyOfRange()
Comparable[] aux = Arrays.copyOfRange(arr,from, to); 复制数组arr, from下标开始, to下标结束. 但是不包括to. 所以复制代码为 Com ...
- 【Python】Excel-4(样式设置)
#练习: #封装一个ExcelUtil的模块(构造函数是excel的路径),里面提供封装的方法: #1 获取某个sheet对象 #2 打印所有sheet名称 #3 给某个sheet的某个单元格写入内容 ...
- ES6 class的继承-学习笔记
1.简介 Class 可以通过extends关键字实现继承,这比 ES5 的通过修改原型链实现继承,要清晰和方便很多. 子类必须在constructor方法中调用super方法,否则新建实例时会报错. ...
- Spring Boot 揭秘与实战(六) 消息队列篇 - RabbitMQ
文章目录 1. 什么是 RabitMQ 2. Spring Boot 整合 RabbitMQ 3. 实战演练4. 源代码 3.1. 一个简单的实战开始 3.1.1. Configuration 3.1 ...
- sqlplus/rman登录报权限错误ORA-01031/ORA-04005/0RA-00554
安装Weblogic误操作对Oracle用户属组进行了修改 --本地sqlplus登录报错权限问题??? [oracle@enmo admin]$ sqlplus / as sysdba SQL*Pl ...
- Java IntelliJ IDEA 不能显示项目里的文件结构
方法一: 关闭IDEA, 然后删除项目文件夹下的.idea文件夹 重新用IDEA工具打开项目 方法二: 菜单:File -> Invalidate Caches / Restart
- 启动服务报错:nested exception is java.lang.NoSuchMethodError: org.apache.cxf.common.jaxb.JAXBUtils.closeUnmarshaller(Ljavax/xml/bind/Unmarshaller;)V
1.启动tomcat时报错:Error creating bean with name 'payInfService': Invocation of init method failed; neste ...