首页 > Linux教程 > 常用命令 > chmod 文件权限
linux chmod命令设置目录/文件权限详解
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
2种方式效果一样,为所有用户分配读权限
版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。