> CentOS > CentOS入门 >

CentOS系统文件权限管理

参考鸟哥私房菜:http://vbird.dic.ksu.edu.tw/

先说一件比较坑的事:前几天我在使用公司的一台ftp服务器的时候,手贱在根目录下执行了一下代码

 
sudo chmod 777  / -R

duang 一下,系统崩了。root进不去了,各种各样的问题接踵而至,补救方法试了很多,但都不行。最后无奈的重新安装了系统。幸好没有什么重要的东西。

出现这种问题的原因:对文件的权限管理一知半解,只知道设置了777权限之后,就可以高枕无忧的使用。最终导致不可饶术的错误。只能说一知半解害死人,学艺不精坑死人。

 

楼主通定思定,于是重新学习了对文件的权限的管理这一块儿。

 

首先对权限管理的命令:

chgrp //设置组的权限
chown //设置用户和组的权限
chmod //设置读写执行权限

先查看一下/root 目录下文件的权限:

[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 root root 37332 11月 30 21:11 install.log
 
打印信息第一部分:
-rw-r--r-- //第1位表示文件类型,这里表示普通文件,如果是d的话代表目录,如果是l表示链接
 
2-4位,表示文件所属用户的权限,这里rw-,表示所属用户拥有读写权限
5-7位,表示文件所属的组的权限,这里r--,表示所属组拥有只读权限
8-10位,表示除用户和组外其他的用户和组的权限,这里r--,表示其他用户和组拥有只读权限
 
可以这样表示:
type user group other
类型  用户  组    其他
 
第二部分:1 表示文档链接节点有1个
 
第三部分:root root 表示该文件的用户为root,所属的组为root
 
第四部分:37332 表示该文件大小为37332字节
 
第五部分:11月 30 21:11 表示时间 
 
第六部分:install.log   表示文件名
 
文件信息完整格式:
文件类型 文件权限 文件链接节点 所属用户 所属组 文件大小 最后一次编辑时间 文件名

通过权限管理命令来更改权限:

chgrp更改文件所属组:
[root@localhost ~]# chgrp test install.log
[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 root test 37332 11月 30 21:11 install.log
文件所属组为test,所以test组的成员对install.log文件有读的权限。

chown更改文件所属的用户:

[root@localhost ~]# chown test install.log
[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 test test 37332 11月 30 21:11 install.log
文件所属用户为test.test用户对install.log文件有读写权限

chown同时更改用户和组:

[root@localhost ~]# chown root:root install.log
[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 root root 37332 11月 30 21:11 install.log
 
通过执行,chown user:group filename  同时更改用户和组

chmod 更改文件的权限

r代表对文件可读,w代表对文件可写,x代表对文件可执行
chmod 命令格式:
    chmod u=rwx,g=rwx,o=rwx filename //u表示用户,g表示组,o表示其他
    chmod +x filename              //增加可执行权限
    chmod -x filename              //减去可执行权限
 
[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 root root 37332 11月 30 21:11 install.log
[root@localhost ~]# chmod u+x,g+x,o+x install.log
[root@localhost ~]# ls -ll install.log
-rwxr-xr-x. 1 root root 37332 11月 30 21:11 install.log
//增加了,可执行权限
 
[root@localhost ~]# chmod -x install.log
[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 root root 37332 11月 30 21:11 install.log
//减少了可执行权限
 
用数字方式更改权限:
rwx 分别用4,2,1表示,
4+2+1 = 7 //全部权限
4+2 = 6 //可读,可写
4 + 1 = 5 //可读,可执行
2 + 1 = 3 //可写可执行
 
chmod 777 filename //用户,组,其他都是可读,可写,可执行
chmod 755 filename //用户可读,可写,可执行,组和其他可读,可执行
[root@localhost ~]# chmod 777 install.log
[root@localhost ~]# ls -ll install.log
-rwxrwxrwx. 1 root root 37332 11月 30 21:11 install.log
//恢复原来权限
[root@localhost ~]# chmod 644 install.log
[root@localhost ~]# ls -ll install.log
-rw-r--r--. 1 root root 37332 11月 30 21:11 install.log
 
 
文件和目录权限功能区别:
 
file  rwx   //读写执行
r读   代表可以读写文件的内容
w写   可以编辑、新增或者是修改该档案的内容(但不能删除该文件)
x执行 文件可以做为二进制文件来执行,仅仅有这样的权限,执行是否成功,要看文件内容
 
dir   rwx   //读写执行
r 代表可以读写文件的内容
w 建立新文件与目录
  删除已经存在的文件与目录
  更改文件或者目录的名字
  移动文件或者目录到别的目录
 
x 代表可以进入文件



(责任编辑:IT)