chmod是一个用来改变文件或目录权限的命令;记得博主看黑客军团美剧的时候,第一集系统被入侵的时候,主角就使用过chmod命令。
当使用#ls -l或ll命令时,即可看到当前的文件目录的权限,-rwxrwxrwx即表示权限。
先说一下理论的东西,后面在说明整行字段的含义。
文件系统上的权限是指文件系统上的文件和目录的权限,文件系统上的权限主要针对三类对象(访问者)进行定义:
owner:属主,u
group:数组,g
other:其他,o
每个文件针对每类访问者都定义了三种权限:
r:readable 可读
w:writable 可写
x:executable 可执行
对于文件来说:
r:可用文件查看类工具读取此文件的内容
w:可以添加、编辑或者修改内容,但是不包含删除该文件
x:具有可以被系统执行的权限,文件是否能被执行就是由该权限来决定的
对于目录来说:
r:拥有此权限表示可以读取此目录的结构列表,也就是说可以查看该目录下的文件名和子目录名(ls查看)
w:可以在此目录中创建文件,也可以删除、重命名移动文件
x:具有进入此目录的权限
权限表示方法:
权限、二进制表示、八进制表示对应的表示方法如下:
---:000 0
--x:001 1
-w-:010 2
-wx:011 3
r--:100 4
r-x:101 5
rw-:110 6
rwx:111 7
chmod命令:
修改文件或目录的权限,设置方式采用字母或数字代号;
参数:
u:属主
g:属组
o:其他用户
a:表示三者全包括
+:增加权限
-:取消权限
=:唯一设定权限
-R:递归
下面来说下字段的含义,举个例子,使用ls -l命令:
drw-r--r--. 1 root root 970 Dec 3 2015 abc
第一块红色,第一列,用来表示这个文件的类型:
d:则是目录
-:则是文件
l:表示为连结档link file
b:表示为装置文件里面的可供存储的接口设备
c:表示为装置文件里面的串行端口设备,如键盘、鼠标
第二块:第二到四列,此处是rw-,表示属主权限
第三块:第五到七列,此处是r--,表示属组权限
第四块:第八到十列,此处是r--,表示其他的权限
第五块:这里是1,连接数位(count)
第六块:这里是root,属主
第七块:这里是root,属组
第八块:这里是970,是文件大小,单位字节
970 Dec 3 2015:是文件的最后修改时间
abc:文件名
除了这些属性外,还有个需要了解的,索引节点“ Inode”号,ls -i显示每个文件的Inode号,每个文件或者文件夹前都会出现一个唯一的“Inode”编号。
好了,下面来举一些例子来演示下:
使用数字方式修改权限:
上面已经列出了对应的数字,这里我们只管记住r对应4,w对应2,x对应1
修改读写权限就是4+2=6,修改读执行权限就是4+1=5,将-rwxr-x-wx转换成对应数字就是753。
-rw——- 对应数字就是600,只有所有者(属主)才有读和写的权限
-rwxr-xr-x 对应数字755,只有所有者(属主)才有读,写,执行的权限,组群和其它只有读执行权限
-rw-rw-rw- 对应数字666,每个人都有读写的权限
示例:
修改abc文件权限为777。
#chmod 777 abc
修改abc文件,使abc文件属主(所有者)可读,属组可写,其他没有权限。
#chmod 420 abc
把abc目录下的文件全部设置为755权限
#chmod -R 755 /abc/
修改abc文件权限为所有人可读
#chmod ugo+r abc 或 #chmod a+r abc
修改abc文件权限为所有人可执行
#chmod ugo+x abc 或 #chmod a+x abc
修改abc文件属主为所有人可执行
#chmod u+x abc
修改abc文件属主属组有读写权限
#chmod ug+rx abc
取消abc目录下的所有文件可写权限
#chmod -R a-w /abc/
原文链接:Linux中修改文件目录权限命令chmod,转载请注明来源!