文件的属性和权限了解
我们先查看一个文件的信息
[root@localhost ~]# ll
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drwxr-xr-x. 2 root user01 6 2月 29 15:46 aa
-rw-------. 1 root root 1556 2月 11 02:38 anaconda-ks.cfg
-rw-r--r--. 1 root root 1587 2月 11 02:53 initial-setup-ks.cfg
drwxr-xr-x. 2 root root 6 2月 11 04:32 公共
drwxr-xr-x. 2 root root 6 2月 11 04:32 模板
ls -l 相当于 ll 查看文件的详细信息
在文件的详细信息中,开头的第一个字母代表着这个文件的类型,基本的文件类型有:
d //目录
- //普通文件
l //链接文档(link file)
b //装置文件里面的可供储存的接口设备(可随机存取装置)
c //串行端口设备,例如键盘、鼠标(一次性读取装置)
文件信息中的rwxr-xr-x代表的是属主(U)属组(G)和其他(O)对这个文件的权限。rwx是属主的权限,r-x是属组的权限,r-x是其他用户的权限,分为三部分。
后面的第一个root是文件的属主,后面一个root时文件的属组。说明root用户对这个文件有rwx权限,root组对这个文件有rx权限。
接下来我们了解一下rwx权限是什么:
r = read //对文件的读取权限
w = write //对文件的写权限
x = execute //对文件的执行权限
用上面的例子来说,就是root用户对这个文件有可读可写可执行权限,root组内成员对文件有可读可执行权限,其他用户有可读可执行权限。
文件的权限管理
[root@localhost ~]# ls -l
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drwxr-xr-x. 2 root root 6 2月 29 15:46 aa
以aa为例,这是一个目录,我们可以改变它的属主和属组。
文件属组更改操作:
我们先查看我们所有的用户组:
[root@localhost ~]# tail -5 /etc/group
user01:x:1001:
apache:x:48:
user001:x:1500:
hr:x:1501:
aaa:x:1300:
chgrp -R hr aa //改变文件的属组
-R //连同目录下的文件递归更改属组
[root@localhost ~]# chgrp -R hr aa
[root@localhost ~]# ll
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drwxr-xr-x. 2 root hr 6 2月 29 15:46 aa
操作过后,aa目录的属组就从root组变为了hr组。
文件属主更改操作
还以aa文件为例通过以下命令可以更改aa的属主:
chown 属主:属组 文件
这个命令可以同时更改文件的属主和属组,属主和属组之间要用":"或 " . “隔开,切记前面是文件属主,后面是文件属组。如果只修改一个信息,可以只写一个,但是一定要用” : "或 " . "区分,不修改的空着即可。
同样-R 也是对目录进行递归修改。
下面是对aa文件修改属主和属组:
[root@localhost ~]# chown user001:aaa aa
[root@localhost ~]# ll
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drwxr-xr-x. 2 user001 aaa 6 2月 29 15:46 aa
对文件属性进行修改操作
文件属性的更改有两种方式:
1.字母形式:直接更改对每个用户的权限
chmod u=rwx 文件名 //对属主权限更改
chmod g=rwx 文件名 //对属组权限更改
chmod o=rwx 文件名 //对其他用户权限更改
chmod u-w 文件名 //对文件减去w权限
chmod u+w 文件名 //对文件在原来的基础上增加w权限
给属组rw权限:
[root@localhost ~]# chmod g=rw aa/
[root@localhost ~]# ll
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drw-rw-r-x. 2 user001 aaa 6 2月 29 15:46 aa
给其他用户增加w权限:
[root@localhost ~]# chmod o+w aa
[root@localhost ~]# ll
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drw-rw-rwx. 2 user001 aaa 6 2月 29 15:46 aa
2.数字形式
每个权限都对应着相应的数字:
r = 4
w = 2
x = 1
所以最大权限rwx也就是4+2+1=7,最大权限也就是7。
在我们更改权限的时候可以直接用数字来更改:
chmod 777 文件名
-R 对目录进行递归操作
例如:
[root@localhost ~]# chmod 777 aa
[root@localhost ~]# ls -l
总用量 8
-rw-r--r--. 1 root root 0 2月 12 16:26 111.txt
drwxrwxrwx. 2 user001 aaa 6 2月 29 15:46 aa
这样就给aa文件了最大权限rwxrwxrwx,也就是777权限。
最后还有更复杂的权限修改方式setfacl,在此就不多赘述了。