linux中chmod命令用于改变系统文件或目录的访问权限,用数字设定法或则文字设定法去控制文件或目录的访问权限。linux系统每一文件或目录的访问权限都有三组,每组用三位表示linux系统有哪些文件类型,分别为文件属主的读、写和执行权限;与属主同组的用户的读、写和执行权限;系统中其他用户的读、写和执行权限。当用ls-l命令显示文件或目录的详尽信息时,最左侧的一列为文件的访问权限。
参数
chmod [-cfvR] [--help] [--version] mode file
选择参数:
--reference=设置成具有指定目录或则文件具有相同的权限
--version显示版本信息
+使权限范围内的目录或则文件具有指定的权限
-删掉权限范围的目录或则文件的指定权限
=设置权限范围内的目录或则文件的权限为指定的值
-c若该文件权限确实早已修改,才显示其修改动作
-f若该文件权限难以被修改也不要显示错误讯息
-R对目前目录下的所有文件与子目录进行相同的权限变更(即以递回的形式挨个变更)
-v运行时显示详尽处理信息
mode权限设定字串linux系统入门学习,格式如下:[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个位置linux开发培训,第一个字符指定了文件类型。在一般意义上,一个目录也是一个文件。假如第一个字符是横线,表示是一个非目录的文件。若果是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.其它用户组可读可执行
chmod4755与chmod755的区别在于开头多了一位,这个4表示其他用户执行文件时linux系统有哪些文件类型,具有与所有者相当的权限。
实例
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