网站首页 > 技术文章 正文
linux中chmod命令用于改变系统文件或目录的访问权限,用数字设定法或者文字设定法去控制文件或目录的访问权限。linux系统每一文件或目录的访问权限都有三组,每组用三位表示,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls -l命令显示文件或目录的详细信息时,最左边的一列为文件的访问权限。
参数
chmod [-cfvR] [--help] [--version] mode file
选择参数:
--reference=<目录或者文件> 设置成具有指定目录或者文件具有相同的权限
--version 显示版本信息
<权限范围>+<权限设置> 使权限范围内的目录或者文件具有指定的权限
<权限范围>-<权限设置> 删除权限范围的目录或者文件的指定权限
<权限范围>=<权限设置> 设置权限范围内的目录或者文件的权限为指定的值
-c 若该文件权限确实已经更改,才显示其更改动作
-f 若该文件权限无法被更改也不要显示错误讯息
-R 对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的方式逐个变更)
-v 运行时显示详细处理信息
mode 权限设定字串,格式如下 : [ugoa...][[+-=][rwxX]...][,...]
u : 表示该档案的拥有者,g 表示与该档案的拥有者属于同一个群体(group)者,o 表示其他以外的人,a 表示这三者皆是。
+ : 表示增加权限、- 表示取消权限、= 表示唯一设定权限。
r : 表示可读取,w 表示可写入,x 表示可执行,X 表示只有当该档案是个子目录或者该档案已经被设定过为可执行。
权限解读
ls -al java.txt
-rw-r--r-- 1 root root 61 10-13 08:23 java.txt //表示java.txt是文件不是目录,属主有读写权限,属主同组的用户只有读权限,其他用户也只有读权限
第一列共有10个位置,第一个字符指定了文件类型。在通常意义上,一个目录也是一个文件。如果第一个字符是横线,表示是一个非目录的文件。如果是d,表示是一个目录。从第二个字符开始到第十个共9个字符,3个字符一组,分别表示了3组用户对文件或者目录的权限。权限字符用横线代表空许可,r代表只读,w代表写,x代表可执行。
文字设定法
1. 语法
chmod [who] [+ | - | =] [mode] 文件名
2. 实例
ls -al tomcat001.log //查看原来文件的权限
-rw-r--r-- 1 root root 302108 10-13 10:03 tomcat001.log
chmod a+x tomcat001.log //增加文件所有用户组可执行权限
ls -al tomcat001.log //查看新的文件权限
-rwxr-xr-x 1 root root 302108 10-13 10:03 tomcat001.log
数字设定法
1. 语法
chmod abc 文件名 //其中a,b,c各为一个数字,分别表示User、Group、及Other的权限。
第一个数字表示文件所有者的权限
第二个数字表示与文件所有者同属一个用户组的其他用户的权限
第三个数字表示其它用户组的权限。
权限分为三种:读(r=4),写(w=2),执行(x=1)。综合起来还有可读可执行(rx=5=4+1)、可读可写(rw=6=4+2)、可读可写可执行(rwx=7=4+2+1)。
2. 实例
chmod 755 abc.log
chmod 4755 abc.log
1.文件所有者可读可写可执行
2.与文件所有者同属一个用户组的其他用户可读可执行
3.其它用户组可读可执行
chmod 4755与chmod 755 的区别在于开头多了一位,这个4表示其他用户执行文件时,具有与所有者相当的权限。
实例
chmod 751 test.conf
chmod u=rwx,g=rx,o=x test.conf
2种方式效果一样,给test.conf的属主分配读、写、执行(7)的权限,给file的所在组分配读、执行(5)的权限,给其他用户分配执行(1)的权限
chmod =r ccc.log
chmod 444 ccc.log
- 上一篇: Linux详解系列2- 这100条常见命令你都用过哪些?
- 下一篇: chown 命令使用方法
猜你喜欢
- 2025-01-14 如何使用mv命令在Linux中移动文件和目录?
- 2025-01-14 linux基础命令之rm命令
- 2025-01-14 如何更改 Linux 文件和目录权限?
- 2025-01-14 超详细的Linux 基础命令大全
- 2025-01-14 linux常用命令在线查询工具
- 2025-01-14 Linux命令执行过程(新手必读)
- 2025-01-14 Linux下用户的创建与删除
- 2025-01-14 61个Linux常用命令解读,掌握它=掌握Linux(内赠资料)
- 2025-01-14 chown 命令使用方法
- 2025-01-14 Linux详解系列2- 这100条常见命令你都用过哪些?
- 02-21走进git时代, 你该怎么玩?_gits
- 02-21GitHub是什么?它可不仅仅是云中的Git版本控制器
- 02-21Git常用操作总结_git基本用法
- 02-21为什么互联网巨头使用Git而放弃SVN?(含核心命令与原理)
- 02-21Git 高级用法,喜欢就拿去用_git基本用法
- 02-21Git常用命令和Git团队使用规范指南
- 02-21总结几个常用的Git命令的使用方法
- 02-21Git工作原理和常用指令_git原理详解
- 最近发表
- 标签列表
-
- cmd/c (57)
- c++中::是什么意思 (57)
- sqlset (59)
- ps可以打开pdf格式吗 (58)
- phprequire_once (61)
- localstorage.removeitem (74)
- routermode (59)
- vector线程安全吗 (70)
- & (66)
- java (73)
- org.redisson (64)
- log.warn (60)
- cannotinstantiatethetype (62)
- js数组插入 (83)
- resttemplateokhttp (59)
- gormwherein (64)
- linux删除一个文件夹 (65)
- mac安装java (72)
- reader.onload (61)
- outofmemoryerror是什么意思 (64)
- flask文件上传 (63)
- eacces (67)
- 查看mysql是否启动 (70)
- java是值传递还是引用传递 (58)
- 无效的列索引 (74)