1.Linux 文件基本属性
Linux系统是一种典型的多用户系统,不同的用户处于不同的地位,拥有不同的权限。
Linux中我们可以使用 ll 或者 ls –l
[root@localhost /]# ll
总用量 16
lrwxrwxrwx. 1 root root 7 8月 21 02:17 bin -> usr/bin
dr-xr-xr-x. 5 root root 4096 8月 21 02:38 boot
drwxr-xr-x. 2 root root 6 4月 11 2018 home
在Linux中第一个字符代表这个文件是目录、文件或链接文件等等。
当为[ d ]则是目录
当为[ - ]则是文件;
若是[ l ]则表示为链接文档(link file);
若是[ b ]则表示为装置文件里面的可供储存的接口设备(可随机存取装置);
若是[ c ]则表示为装置文件里面的串行端口设备,例如键盘、鼠标(一次性读取装置)。
接下来的字符中,以三个为一组,且均为『rwx』 的三个参数的组合。其中,[ r ]代表可读(read)、[ w ]代表可写(write)、[ x ]代表可执行(execute)。 要注意的是,这三个权限的位置不会改变,如果没有权限,就会出现减号[ - ]而已。
每个文件的属性由左边第一部分的10个字符来确定。类型+主+组+其它(如下图)。
2.Linux文件属主和属组
对于文件来说,它都有一个特定的所有者,也就是对该文件具有所有权的用户。
同时,在Linux系统中,用户是按组分类的,一个用户属于一个或多个组。
文件所有者以外的用户又可以分为文件所有者的同组用户和其他用户。
3.更改文件属性
① 变更文件或目录的所属群组 chgrp [-R] 所属组 文件名(目录名)
[root@localhost ~]# ll
-rw-r--r--. 1 root root 0 8月 23 19:19 test.txt
[root@localhost ~]# groupadd test
[root@localhost ~]# chgrp test test.txt
[root@localhost ~]# ll
-rw-r--r--. 1 root test 0 8月 23 19:19 test.txt
② chown:更改文件属主,也可以同时更改文件属组
chown [–R] 属主名 文件名
chown [-R] 属主名:属组名 文件名
[root@localhost ~]# chown root:root test.txt
[root@localhost ~]# ll
-rw-r--r--. 1 root root 0 8月 23 19:19 test.txt
③ chmod:更改权限
chmod [-R] xyz 文件或目录
xyz 是3位数数字,分别代表 属主 属组 其它 权限
比如:
属主是 rwx => 二进制 111=>十进制 4+2+1=7 => x=7
属组是 r-x => 二进制 100=>十进制 4+0+1=5 => y=5
其它是 r-x-> 二进制 001=>十进制 4+0+1=1 => z=>5
得到权限应该是 755
root@localhost ~]# chmod 755 test.txt
[root@localhost ~]# ll
-rwxr-xr-x. 1 root test 0 8月 23 19:19 test.txt
还有一种写法:
chmod u|g|o|a[r|w|x] 文件
u|g|o|a (1)user (2)group (3)others(4)all 所有人 4种身份
+|-|= 增加 减去 设定
r|w|x 读,写,执行
[root@localhost ~]# ll
-rwxr-xr-x. 1 root test 0 8月 23 19:19 test.txt
[root@localhost ~]# chmod a=w test.txt
[root@localhost ~]# ll
--w--w--w-. 1 root test 0 8月 23 19:19 test.txt
[root@localhost ~]# chmod u=rwx,g=rx,o=x test.txt
[root@localhost ~]# ll
-rwxr-x--x. 1 root test 0 8月 23 19:19 test.txt