root用户和普通用户都要操作同一个文件,权限如何处理?(root创建的文件所属组继承该目录的所属组)

一、root创建的文件所属组继承该目录的所属组

首先,您需要确保该目录的属组已经设置为您想要的组。
然后,您可以使用以下命令来设置该目录的默认权限:

 chmod g+s /path/to/directory

这将设置该目录的默认权限为包括该目录的属组,并且所有在该目录下创建的文件和子目录都将继承该目录的属组。

注意:该命令只会影响在该目录下创建的新文件和子目录,而不会影响已经存在的文件和子目录的权限。如果您需要更改已经存在的文件和子目录的权限,请使用适当的命令进行更改。

二、root 用户在创建文件时默认继承目录的权限

在 Linux 中,默认情况下,使用 touch 命令创建新文件时,新文件不会继承父目录的权限。这是因为 touch 命令会根据系统的默认权限模式创建新文件,而不会直接继承父目录的权限。

umask 值定义了新文件和目录的默认权限掩码,决定了创建文件或目录时的默认权限。

默认情况下,umask 值为 0022,表示新文件的权限为 644,新目录的权限为 755。

说白了,我们其实不能关于读写权限,我们是不能继承父目录的读写权限,新建文件的读写权限完全由umask控制。父目录的权限仅影响新文件的所属用户组。

因为,当root创建新文件时候,我们需要什么权限,最好自己修改一下,比如,你想让root创建的文件,所属组具有写权限,对应前面的 让在某目录创建的文件所属组继承该目录的所属组 章节的描述,我们改umask即可。

一、二章节结合,我们可以解决一个需求场景:root用户和普通用户都要操作同一个文件,权限如何处理?
场景描述:一些root用户和普通用户都要操作同一个文件不能因为root创建了,普通用户就操作不了。
实现思路:

  1. 首先,您需要确保该目录的属组已经设置为您想要的组
  2. root用户创建文件让继承父目录所属组 chmod g+s xxx
  3. umask让默认创建文件或目录读写执行权限和你所属组一致。

三、 linux配置修改umask

在 Linux 中,umask 值用于控制新创建的文件和目录的默认权限。umask 值是一个八进制数,表示权限掩码。它与文件和目录权限进行按位与运算,以确定新创建的文件和目录的最终权限。

在 umask 值中,每个数字位对应一组权限位(所有者权限、组权限和其他用户权限)。具体来说,umask 值的每一位对应于文件权限的相应位,其中:

0 表示对应位的权限位将被保留(不被屏蔽),即允许该权限。
2 表示对应位的权限位将被屏蔽,即不允许该权限。

在Linux系统中umask值代表的是我们创建新文件/目录的默认权限设置,系统root账号默认的umask的值为0022 普通账号的umask的值为0002。

查看umask值

使用命令umask命令可以查看当前帐号umask的值

[root@RedHat8-2 ~]# umask
0022
[root@RedHat8-2 ~]# umask -S
u=rwx,g=rx,o=rx

可以看到umask值有四位数字,第一位数字代表的是特殊权限忽略,后三位数字为我们看到的文件/目录的默认权限。

文件默认权限

对于目录,默认权限=777-umask 
对于文件,默认权限=666-umask(文件默认无执行权限) 
root:目录 777-022=755
root:文件 666-022=644
非root用户:目录 777-002=775
非root用户: 文件 666-002=664
 
权限对应数字
rwx rwx rwx
第一部分(user) 读:  r--    4
第二部分(group)写:  -w-    2
第三部分(其它) 执行: --x    1

如何修改默认umask值

umask 022

但是这种方式并不能永久更改umask的值,只是将当前的shell临时更改
如果要永久更改umask的值,可以将命令添加至/etc/profile或/etc/bashrc文件中

要修改默认值, 请在您的 shell 配置文件中或者 /etc/profile 文件中写入一个新的 umask 值

vi /etc/profile
umask 022
source /etc/profile
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

西京刀客

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值