Linux命令 chmod
Posted 木剑配酒
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux命令 chmod相关的知识,希望对你有一定的参考价值。
1.简介
在Linux中,一个文件或目录拥有很多权限,而最基本的权限就有九个,分别是拥有者,用户组,其他人的三个对象的读,写,执行的权限。
而chmod命令就是用来改变文件/目录的权限。改变文件的权限有两种方法:1.使用数字 2.使用符号
2. 具体方法
所有的方法都遵循此模式: chmod [options] [ugoa]*([-+=]([rwxXst]*|[ugo]))+|[-+=][0-7]+ filename
options:
(1) -c ,--changes 在改变文件的权限的时候成功的时候,会打印一行内容报告改变权限的内容
[email protected]:~/c# chmod -c u+x a.c mode of ‘a.c‘ changed from 0644 (rw-r--r--) to 0744 (rwxr--r--)
注意:上面的0644的0代表的是‘-’ ,表示文件,数字代号是"0";
还有 符号连接的权限
(2) -f, --silent, --quit 保持沉默
(3) -v , --verbose 总是会提醒你和 -c 很相似 所以是冗杂的,繁多的
(4) -R 最常用的一个选项,递归改变文件和目录的权限
数字类型:
对于一个文件的每个对象都有三种权限,读,写和执行的权限,每个权限都对应这一个分数。
r : 4 w:2 x:1
每个身份的权限的值都是累加的,比如 :
[email protected]:~/c# chmod 764 a.c [email protected]:~/c# ls -l a.c -rwxrw-r-- 1 root root 58 Aug 30 07:45 a.c
在这个实例中,拥有者的权限是7,就是 r+w+x =4+2+1=7,用户组的权限就是6 r+w=4+2=6 ,而其他人就是4了 r=4.
字符类型:
用字符改变文件权限 chmod [augo] [+-=] [rwx] filename/dirname;
a: all 包括所有的对象 u:user,只改变拥有者的权限 g:group,只改变用户组的权限 o:others,只改变其他人的权限
+:添加权限 -:删除权限 =:设置权限
比如:
[email protected]:~# ls -l .bash_history -rw------- 1 root root 26291 Aug 27 09:54 .bash_history [email protected]:~# chmod u=rwx,go+w .bash .bash_history .bashrc [email protected]:~# chmod u=rwx,go+w .bash_history [email protected]:~# ls -l .bash_history -rwx-w--w- 1 root root 26291 Aug 27 09:54 .bash_history
刚开始只有拥有者可以读和写, u=rwx 给拥有者设置为所有权限, go+w 给 用户组和其他人加上了 w的权限。
以上是关于Linux命令 chmod的主要内容,如果未能解决你的问题,请参考以下文章