Linux命令(四)——文件权限管理

时间:2023-03-09 02:15:09
Linux命令(四)——文件权限管理

文件权限是指对文件的访问控制,即哪些用户或群组可以访问文件以及执行什么样的操作。

一、文件的权限

1.Linux文件类型

(1)普通文件:文本文件+数据文件+可执行的二进制文件。

(2)目录文件:即文件夹,第一项以“.”作为它的文件名,第二项“..”表示该目录的父目录。

(3)设备文件:字符设备+块设备,在/dev目录下。

(4)链接文件:linux中为一个文件起多个名字的功能,称为链接。

Linux命令(四)——文件权限管理

上图中,ls-l输出信息的每一行的第一个字符代表文件类型。其中“-”表示普通文件,“d”表示目录文件,“c”表示字符设备文件,“b”表示块设备文件,“l”表示软链接(符号链接)文件。

2.文件的访问权限

(1)访问权限规定三种不同的用户

文件属主(owner):文件的所有者,称为属主。

同组用户(group):文件所属群组的同组用户。

其他用户(others):可以访问文件的其他用户。

(2)访问权限的表示

Linux命令(四)——文件权限管理

以上图第一行为例:

文件类型后的九位字符分别表示:文件属主   同组用户    其他用户

               r(读权限) w(写权限) x(可执行权限)

数字4:表示文件的链接数

第一个root:表示文件的属主

第二个root:表示文件所属的群组

4096数字:表示文件的大小

Oct 2 15:48 :表示文件最后一次被修改的时间

a/a.txt:表示文件名或目录名

二、文件权限管理

1.chown 更改文件的属主和属组:chown  [属主] :[属组] 文件列表

2.chmod 修改文件访问权限:chmod  模式  文件名

字母形式修改权限:chmod  u+x,g-r,a=rw  a.txt

u表示属主,g表示属组,o表示其他用户,a表示所以用户;+添加权限,-取消权限,=赋予给定权限并取消其他所有权限(如果有的话)。

数字形式修改权限:chmod  三位八进制模式 文件名

如:chmod  744  a.txt   //更改a.txt文件的权限为111 100 100

3.三位特殊权限

用户置位s(SUID):进程继承命令拥有者的权限。

组置位s(SGID):目录的s权限使得在该目录下创建的任何文件及目录属于该目录所拥有的组。

粘着置位t(Sticky):在程序完成后在内存中保存一份运行程序的备份;目录拥有T权限后,只有该目录的所有者及root才能删除该目录。

占用执行权限位来表示,若执行权限开启添加特殊权限,则为小写字母,否则为大写字母。

Linux命令(四)——文件权限管理

两种方法设置特殊权限:

chmod u+s,g+s,o+t a.txt 字母形式设置特殊权限

,1000

4.文件默认权限umask掩码

设置umask掩码来指定文件的默认权限,即新创建的文件所拥有的权限。

文件创建时的默认权限=0666-umask

目录创建时的默认权限=0777-umask

系统默认的掩码是0022,则文件默认权限为0644,目录默认权限为0755。

Linux命令(四)——文件权限管理

三、软链接和硬链接

1.硬链接

硬链接无法从最初的目录项中区分开,如上图中e.txt硬链接自a.txt文件,两者没有明显的区别,硬链接不能用于创建目录链接和在不同的文件系统中创建文件链接。

语法:ln 原文件名 [链接名]

如:ln  /home/wxy/a.txt  /home/mmx/f.txt   //建立硬链接

若原文件被删除,链接文件依然存在,不会被同步删除;若更改任何一个文件内容,则其链接文件被同步更改。

2.软链接

软链接又叫符号链接,是将一个文件的路径名链接到另一个文件。包含要链接到的文件的名字,如上图d.txt软链接自a.txt文件,并且在符号链接之前那个文件不一定存在,软链接可以跨越不同的文件系统,并且可以创建目录间的链接。

语法:ln -s 原文件名 [链接名]

如:ln  -s  /home/wxy/a.txt  /home/mmx/g.txt   //建立软链接

若原文件被删除,软链接失效,类似于windows系统中的快捷方式,符号链接文件的大小是其链接文件的路径名中的字节数。