(一)文件权限查看
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括目录文件)的权限做了不同的规定。
使用 ll(或者ls -l)命令来显示一个文件的属性以及文件所属的用户和组,例如:
[root@www /]# ls -l
total 64
dr-xr-xr-x 2 root root 4096 Dec 14 2012 bin
dr-xr-xr-x 4 root root 4096 Apr 19 2012 boot
格式如下:
文件类型及权限 文件数 用户名 用户组 文件大小 创建日期 文件名
Linux文件的基本权限就有9个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
从左至右用0-9这些数字来表示:
第0位:表示文件类型属性;
第1-3位:(owner)确定属主(该文件的所有者)拥有该文件的权限;
第4-6位:(group)确定属组(所有者的同组用户)拥有该文件的权限;
第7-9位:(others)确定其他用户拥有该文件的权限。
其中:
第1、4、7位:表示读权限,如果用"r"字符表示,则有读权限,如果用"-"字符表示,则没有读权限;
第2、5、8位:表示写权限,如果用"w"字符表示,则有写权限,如果用"-"字符表示没有写权限;
第3、6、9位:表示可执行权限,如果用"x"字符表示,则有执行权限,如果用"-"字符表示,则没有执行权限。
第0位:表示这个文件类型属性,具体如下:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
(二)文件权限更改
1)chgrp:更改文件属组
格式:
chgrp [-R] 属组名 文件名
参数选项
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
2)chown:更改文件属主,也可以同时修改该文件属组
格式:
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
将install.log的拥有者改为bin这个账号:
[root@www ~]# chown bin install.log
[root@www ~]# ls -l
-rw-r--r-- 1 bin users 68495 Jun 25 08:53 install.log
将install.log的拥有者与群组改回为root:
[root@www ~]# chown root:root install.log
[root@www ~]# ls -l
-rw-r--r-- 1 root root 68495 Jun 25 08:53 install.log
3)chmod:更改文件的9个属性
文件属性更改有两种方式:一种是数组 一种是符号
(1)数字更改方法
首先用数字该代表各个权限:
r:4 w:2 x:1
每种身份(owner/group/others)各自的三个权限(r/w/x)分数是需要累加的,例如:
-rwxrwx--- 分数则是:
owner = rwx = 4+2+1 = 7
group = rwx = 4+2+1 = 7
others= --- = 0+0+0 = 0
格式:
chmod xyz 文件/目录
说明:
xyz就是刚刚提到的数字类型的权限属性,为 rwx 属性数值的相加。
例如:
[root@www ~]# ls -al .bashrc
-rw-r--r-- 1 root root 395 Jul 4 11:45 .bashrc
[root@www ~]# chmod 777 .bashrc
[root@www ~]# ls -al .bashrc
-rwxrwxrwx 1 root root 395 Jul 4 11:45 .bashrc
(2)符号更改方法
格式:
chmod u/g/o/a +/-/= rwx 文件/目录
例如:
# touch test1 // 创建 test1 文件
# ls -al test1 // 查看 test1 默认权限
-rw-r--r-- 1 root root 0 Nov 15 10:32 test1
# chmod u=rwx,g=rx,o=r test1 // 修改 test1 权限
# ls -al test1
-rwxr-xr-- 1 root root 0 Nov 15 10:32 test1