文件属性查看与修改
了解文件属性
Linux是典型的多用户系统,不同的用户有不同的权限。为了保护系统的安全性,Linux系统对不同的用户访问同一文件(包括文件目录)的权限做了不同的规定
在Linux中,我们使用ls -l 来查看文件的属性以及文件的创建者和创建者的组
[root@LuoKing /]# ls -ll
total 60
lrwxrwxrwx. 1 root root 7 Sep 14 2020 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 Nov 30 15:19 boot
drwxr-xr-x 19 root root 2980 Apr 13 21:48 dev
drwxr-xr-x. 77 root root 4096 Apr 13 21:46 etc
drwxr-xr-x. 3 root root 4096 Apr 14 23:40 home
lrwxrwxrwx. 1 root root 7 Sep 14 2020 lib -> usr/lib
lrwxrwxrwx. 1 root root 9 Sep 14 2020 lib64 -> usr/lib64
drwx------. 2 root root 16384 Sep 14 2020 lost+found
drwxr-xr-x. 2 root root 4096 Apr 11 2018 media
drwxr-xr-x. 2 root root 4096 Apr 11 2018 mnt
drwxr-xr-x. 2 root root 4096 Apr 11 2018 opt
dr-xr-xr-x 84 root root 0 Apr 13 21:46 proc
dr-xr-x---. 5 root root 4096 Apr 14 16:42 root
drwxr-xr-x 24 root root 640 Apr 13 21:46 run
lrwxrwxrwx. 1 root root 8 Sep 14 2020 sbin -> usr/sbin
drwxr-xr-x. 2 root root 4096 Apr 11 2018 srv
dr-xr-xr-x 13 root root 0 Apr 14 21:41 sys
drwxrwxrwt. 8 root root 4096 Apr 15 03:33 tmp
drwxr-xr-x. 13 root root 4096 Sep 14 2020 usr
drwxr-xr-x. 20 root root 4096 Apr 13 21:03 var
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等:
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档 ( link file );
若是[ b ]则表示为装置文件里面的可供储存的接口设备 ( 可随机存取装置 );
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标 ( 一次性读取装置 )。
d
r-xr-xr-x. 5 root root 4096 Nov 30 15:19 boot
第一个字母d代表该文件为目录
d之后的九个字母代表着不同用户或组对该文件的权限,三个为一组
比如:rwx r-x r-x
前三个为创建者(属主)对该文件的权限,中间三个代表与创建者同一个组的成员(属组)对该文件的权限,后三个字母代表着其他组对该文件的权限
- r:(read) 读权限
- w:(writer)写权限
- x:(execute) 可执行权限
dr-xr-xr-x. 5
root root 4096 Nov 30 15:19 boot
5代表该目录中有5个文件
dr-xr-xr-x. 5 root
root 4096 Nov 30 15:19 boot
第一个root代表创建者(主人)
dr-xr-xr-x. 5 root root
4096 Nov 30 15:19 boot
第二个root代表与创建者同一个组的组名
dr-xr-xr-x. 5 root root 4096
Nov 30 15:19 boot
4096代表文件夹(目录)的大小(KB)
dr-xr-xr-x. 5 root root 4096 Nov 30 15:19
boot
创建时间
dr-xr-xr-x. 5 root root 4096 Nov 30 15:19 boot
目录名
修改文件属性
1. chgrp:更改文件属组(不常用)
chgrp [-R] 属组名 文件名
-R:递归更改文件属组,就是在更改某个目录文件的属组时,如果加上-R的参数,那么该目录下的所有文件的属组都会更改。
[root@LuoKing home]# ls -l
total 4
-rw-r--r-- 1 root root 0 Apr 14 23:21 text1.txt
drwxr-xr-x 2 root root 4096 Apr 14 23:36 Zhiking
[root@LuoKing home]# chgrp www text1.txt #将text1.txt的属组该为www
[root@LuoKing home]# ls -ll
total 4
-rw-r--r-- 1 root www 0 Apr 14 23:21 text1.txt
drwxr-xr-x 2 root root 4096 Apr 14 23:36 Zhiking
2. chown: 更改文件属主,也可以同时更改文件属组(不常用)
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
3. chmod:更改文件9个属性
chmod [-R] xyz 文件或目录
Linux文件属性有两种设置方法,一种是数字(常用),一种是符号。
Linux文件的基本权限就有九个,分别是owner/group/others三种身份各有自己的read/write/execute权限。
先复习一下刚刚上面提到的数据:文件的权限字符为:『-rwxrwxrwx』, 这九个权限是三个三个一组的!其中,我们可以使用数字来代表各个权限,各权限的分数对照表如下:
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
[root@LuoKing home]# ls -l
total 4
-rw-r--r-- 1 root root 0 Apr 14 23:21 text1.txt
drwxr-xr-x 2 root root 4096 Apr 14 23:36 Zhiking
[root@LuoKing home]# chmod 760 text1.txt #rwxrw----
[root@LuoKing home]# ls -l
total 4
-rwxrw---- 1 root root 0 Apr 14 23:21 text1.txt
drwxr-xr-x 2 root root 4096 Apr 14 23:36 Zhiking
多多练习