lzyq868官网
  咨询电话:13996038719

老子有钱电话

Linux文件属性及权限

原创作品,转载请注明出处:https://www.cnblogs.com/shrimp-can/p/10039288.html

在Linux中,一个十分重要的内容就是文件权限。

一、文件存取访问身份

Linux的优秀之处在于她的多用户多任务环境,为了方便文件的管理,有三种文件存取访问身份,分别是:用户、用户组、其他

 

二、文件属性

我们在用ls列举出当前工作目录下的文件时,显示的只是文件或目录名,要想显示属性,使用ls -l,要列举出隐藏文件,使用ls -al。

下图是我列举出的桌面下的部分文件及其属性的显示。

第一列为10个字符,代表这个文件的类型和权限。在下面会重点介绍。

第二列是一个数字,表示有多少文件名链接到此节点。(Linux的目录树是使用文件名来记录的)

第三列表示这个文件的所有者账号。

第四列表示这个文件的所属组账号。

第五列的数字代表这个文件的大小,单位是Byte。

第六列是这个文件的创建日期或者最近修改日期。

最后列是文件名,如果文件名前多个‘.’,代表这个文件是隐藏文件。

 

三、文件属性的更改

1.改变文件所有者chown

chown [-R] 账号名称 文件或目录

要更改目录下所有子目录或文件的所有者,加上-R参数,代表进行递归更改。

例1:将install.log文件的所有者改为bin

chown bin install.log

2.改变文件所属用户组chgrp

chgrp [-R] 用户组 文件或目录

要更改目录下所有子目录或文件的所有者,加上-R参数,代表进行递归更改。

注意:用户组的名字必须要存于/etc/group中,不然不能更改成功

例2:将文件install.log的所属用户组改为users

chgrp users install.log

3.文件属性需要修改的常见场景

我们复制文件时,如使用cp

cp 源文件 目标文件

复制后的目标文件与源文件会具有相同的属性和权限,如将文件传给bin,若文件中对其他人只有读的权限,那么bin就不能对文件进行修改等操作,因此需要修改文件所有者和用户组

 

四、文件权限

在Linux中,用户对文件有三种访问权限:read、write、excute

在文件属性中,第一列代表文件类型和权限。其中,第一个字符代表文件的类型,Linux中的文件类型表示后面会介绍。接下来的字符中,每3个为一组

第一组为文件所有者的权限,第二组为所属用户组权限,第三组为其他人的权限。

1.文件权限含义

文件权限三个为一组,均为“rwx”三个参数的组合

r:read代表可读

w:write代表可写

x:execute代表可执行

这个三个权限的位置不会发生改变,如果没有该权限,就用-替代。

例3:-rwxr-xr--

-:表示文件类型,-表示这是一个文件

rwx:所有者的权限,可读、可写、可执行

r-x:所属用户组的权限,可读、可执行

r--:其他用户的权限,可读

2.文件权限的数字表示

三个权限的位置不会改变,可以使用数字来代表各个权限

r:4

w:2

x:1

每种身份的权限为这三个权限的和

例4:-rwxr-xr--

所有者权限为:4+2+1=7

用户组权限为:4+1=5

其他人的权限为:4

所以该文件权限为754

3.文件权限的修改chmod

1.数字类型的修改

chmod [-R] number 文件或目录

-R:进行递归修改,连同子目录下的所有文件都会更改

例5:将.bashrc这个文件的权限改为-rw-r--r--

chmod 644 ./bashrc

2.字符类型的修改

有user、group、others三种身份,用u、g、o来代表,a代表全部的身份

chmod

u

g

o

a

+

-

=

r

w

x

文件或目录

 

 

 

 

 

例6:设置文件./bashrc的权限为-rwxr-xr-x

chmod u=rwx,go=rx ./bashrc

例7:增加./bashrc这个文件的每个人均可写入的权限

chmod a+w ./bshrc

例8:去掉./bashrc这个文件的每个人均可写入的权限

chmod a-w ./bashrc

4.目录与文件的权限意义

1 文件的权限意义

r:可读取文件的内容

w:可以编辑、增加或修改文件的内容

注意:不能删除该文件

x:该文件有被系统执行的权限

在Windows下一个文件是否具有执行能力是通过扩展名来判断的,如.exe, .bat, .com等,Linux下是由是否具有x权限来决定的,与文件名没有绝对关系

2 目录的权限意义

r:可以读取目录结果列表,即可以查询该目录下的文件名数据,利用ls将该目录的内容列表显示出来

w:可以更改目录结果列表包括:

a:信件文件与目录

b:删除以及存在的文件与目录(不管该文件的权限为何)

c:将以存在的文件或目录重命名

d:转移目录内的文件、目录位置

x:用户可以进入该目录成为工作目录

例9:有个目录权限如下:drwxr--r--,系统有个账号叫vbird,但是这个账号并没有支持用户组,请问vbird对这个目录有何权限,是否可切换到此目录中

vbird对此目录只有r权限,因为没有x权限,所以不能切换到此目录内

例10:有个账号dmtsai,他的主文件夹在/home/dmtsai,dmt对此目录有rwx权限,若此目录下有个the_root.data的文件,权限为:-rwx------,dmtsai对此文件的权限是什么,可否删除此文件

dmtsai对此文件来说是others身份,没有任何权限。这个文件在他的主文件夹下,他对主文件夹有rwx的权限,所以他可以删除此文件

五、文件种类以及其属性表示

-:一般文件

d:目录文件

l:链接文件

b:块设备文件,即一些存储数据以提供系统随机访问的接口设备,如硬盘、软盘等

c:字符设备文件,即一些串行端口的接口设备,如鼠标、键盘等

s:套接字,数据接口文件,通常被用在网络上的数据传输

p:FIFO文件