【Linux】管理文件系统权限

一、文件系统权限说明

1、权限格式

使用touch语句创建一个新的文件,使用ll指令查询一下就可以看到文件的现有权限:

在这里插入图片描述


①:长列表的第一个字符表示文件类型

  • " - "是常规文件
  • " d "是目录
  • " l "是软连接
  • 其他字符代表硬件设备(b和c),或者具有特殊用途的文件(p和s)

②:拥有该文件的用户(属主)的权限
③:拥有该文件的组(属组)的权限
④:其他所有用户的权限


⑤:属主,该文件属于哪个用户,即创建该文件的用户
⑥:属组,该文件属于哪个用户组,即创建该文件的用户的组

2、权限种类

权限对文件的影响
r(读取)可以读取文件的内容
w(写入)可以更改文件的内容
x(执行)可以作为命令执行文件

②③④中以三种权限为一组,即rwx为一组,若没有该权限则用 - 表示。

二、修改文件系统权限

用于更改权限的命令为chmod,意为“change mode”,可以配合 -R 选项以递归的方式对整个目录树中的文件进行权限设置。

1、通过符号法更改权限

chmod [-R] WhoWhatWhich file|directory
  • Who:u(属主)| g(属组)| o(其他)| a (全部)
  • What:+(添加)| -(删除)| =(精确设置)
  • Which:r(读取)| w (写入)| x(执行)

例:
在这里插入图片描述

2、通过数值法更改权限

chmod [-R] ### file|directory

将权限列表划分成用户、组、其他三部分,并使用一个三位的八进制数进行表示,每个权限位拥有该权限则置1,没有该权限则置0,再将rwx的值相加即可。

权限位
r4
w2
x1

在这里插入图片描述按照上述规则,每个八进制数拥有以下几种取值:

权限取值
- - x1
- w -2
r - -4
- w x3
r - x5
r w -6
r w x7

文件类型默认为0,如需修改则写成4位八进制即可。


例:

chmod 777 test_file         //- rwx rwx rwx
chmod 642 test_file         //- rw- r-- -w-
chmod 531 test_file         //- r-x -wx --x

三、更改文件和目录的用户或组所有权

1、更改所属用户或所属组

用于更改所有者的命令为chown,意为“change owner”,可以配合 -R 选项以递归的方式更改整个目录树的所有权。

chown  [-R] [owner][:group] file|directory

例:

chown root test_file                //修改文件所属用户
chown -R user1 test_dir             //修改目录树所属用户
chown :user test_file               //修改文件所属组
chown user1:user test_file          //修改文件所属用户和所属组

2、更改所属组

还有一个直接用于更改所属组的命令为chgrp,意为“change group”,可以配合 -R 选项以递归的方式更改整个目录树的所有权。

chgrp  [-R] group file|directory

例:

chgrp  manager test_file            //修改文件所属组

四、设置特殊权限

1、特殊权限对文件的影响

对于属主、属组和其他用户,均有一个特殊的权限,如下表:

在这里插入图片描述

2、设置特殊权限

可以使用chmod指令进行特殊权限的设置,设置后会在执行(x)的位置显示特殊权限。


例:

在这里插入图片描述

五、更改默认文件权限

创建新文件或者目录时,会给文件或目录分配一个初始权限,如果是创建新的目录操作系统会默认分配权限0777(drwxrwxrwx),如果是创建新的常规文件操作系统会默认分配权限0666(-rw-rw-rw-)。

此外shell还会设置一个umask,以进一步限制初始设置的权限。这是一个八进制位掩码,用于清除由该进程创建的新文件和目录的权限,掩码设置原理同数值法控制文件权限相同,若该位置1则新创建的文件或目录中该位对应的权限将会被清除。


例:
在这里插入图片描述

文件创建后反映出的最终属性是由默认分配权限加umask共同控制的,即在默认分配的基础上减掉umask清除的权限即为最终创建文件或目录时会拥有的权限。

六、设置指定用户/组对文件的控制权限

1、获取详细的文件权限

使用getfacl语句指定文件名可以修改文件或目录详细的权限信息:

getfacl file|directory

例:
在这里插入图片描述

2、修改详细的文件权限

使用setfacl语句指定文件名可以修改文件或目录详细的权限信息:

-o如下图:
在这里插入图片描述
通常可以使用 -m 来添加/修改指定用户/组/其他的权限,可以使用 -x 来删除指定用户/组的权限,使用格式如下。

setfacl -m user|group|mask|other:[name]:Which file|directory
setfacl -x user|group|mask|other:[name]:Which file|directory

例:

在这里插入图片描述

注意:只有通过 -m 添加的指定用户/组的权限才能通过 -x 进行删除。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值