Linux的文件类型和权限

Linux下使用ll或ls -l查看文件的信息

(ll和ls-l的区别:ll会显示出当前目录下的隐藏文件,而ls -l不会)

 

文件信息分为:文件类型、权限、链接数、所属用户、所属用户组、文件大小、最后修改时间、文件名,具体的可以见下图。

Linux的文件类型和权限

 

一、文件类型:

d:文件夹

-:普通文件

l:链接(类似Windows的快捷方式)

b:块设备文件(例如硬盘、光驱等)

p:管道文件

c:字符设备文件(例如猫等串口设备)

s:套接口文件/数据接口文件(例如启动一个MySql服务器时会产生一个mysql.sock文件)

 

二、文件权限

权限   对应数字   意义  
r   4   可读  
w   2   可写  
x   1   可执行  

 

 

 

 

 

 

-:某一位置为空时显示-,表示不具备这个权限

权限位由9位组成,前3位表示文件拥有者的权限,中间3位表示文件所属用户组的权限,后3位表示其他用户的权限。

 

举例如下:

drwxr-xr-x  2 root mail  4096 1月  12 03:44 account

表示文件夹account,root是他的所属拥有者,具有可读可写可执行的权限;mail是他的所属用户组,具有可读、可执行的权限,不具备可写的权限;其他用户针对这个文件夹具有可读、可执行的权限,不具备可写的权限

 

更改权限命令:

chmod 权限 文件名

chmod有两种用法

1.chmod 用户+(-)权限 文件名

用户   意义  
u   所有者(user)  
g   所属群组(group)  
o   其他人(other)  
a   全部的人(all)  

 

 

 

 

 

 

 

(增加权限用+,减少权限用-,直接等于的权限用=)

 

例:给文件test.txt的其他用户增加可读的权限

chmod o+r test.txt

 

权限其他说明:

文件都有默认权限:

类型   默认权限  
文件   rw-rw-rw-  
目录   rwxrwxrwx  

 

 

 

 

 

 

 

但是这个权限不一定是我们linux系统的默认权限,每个系统都有一个权限掩码(unmask)

使用命令查看权限掩码(umask查看数字掩码;umask -S查看字符掩码)

数字掩码:默认掩码减去数字掩码代表的权限

字符掩码:取默认淹没和字符掩码的交集代表权限

修改权限掩码的命令:umask 007(或者umask u=rw,g=rwx,o=r)

 

2.chmod 权限数字 文件名

权限数字由3位数组成,第1位数表示所有者的权限;第2位数表示所属群组的权限;第3位数表示其他人的权限

例:将test.txt文件变更权限为文件拥有者可读可写可执行,文件所属组可读可写可执行;其他人可读可执行不可写。

chmod 775 test.txt

说明:数字是对应权限的数值和。例如7=4+2+1,所以7代表可读可写可执行。5=4+1,所以5代表可读可执行不可写。0代表不可读不可写不可执行

 

三、文件所属的拥有者和所属群组

1.更改文件拥有者

命令:chown 用户名 文件

例如:chown work test.txt(将test.txt的拥有者变更为work)

 

2.更改文件的所属群组

命令:chgrp 群组名称 文件

例如:chgrp named test(将test的所属群组变更为named)

 

其他:

1.chmod和chgrp、chown都有一个参数-R,可以递归的将目录及它以下的子目录一起变更权限等

2.有的ll后,发现第一段的权限后还有一个“.”或者“+”,如下图所示:

在网上查了一下,

“.”表示有selinux的安全标签,具有安全上下文属性(可以用ll -LZ查看)

“+”表示文件应用了其他访问控制的安全措施

(感兴趣的大家可以自己去查询一下,我也没有去查询太多的内容。)

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/14386.html