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文件