我目前的理解是,当用户A创建文件F时,该用户将成为文件所有者,并且还可以为该用户最终将在其中的任何组设置权限。
因此,当用户A在G组中时,G的每个成员都有用户A最初为文件F设置的权限。其中A是会员。
但是,A不可能预见到他或她也将在同一组中,以及他将被归入哪一类,一个预先确定的许可似乎是危险的,即使它可以改变。所以我的理解似乎很天真。
真的很感激任何人的帮助。
发布于 2018-08-11 12:54:42
在大多数Linuxes上,至少作为开箱即用的默认值,用户的主组与他们的用户名相同,所以这不会有问题,因为一个新文件的组所有权将是一个没有人会在的组。
当将服务器配置为新用户具有共享的主组时,我们就有了umask环境变量,以防止出现任何问题。这就是设置新文件的默认权限,并且可以为每个用户设置的权限。因此,用户A可以将他的umask设置为077,然后他创建的任何新文件都将有700个允许子文件,这意味着组成员将无法对其进行任何操作。
为了稍微扩展一下,您的umask通常被设置为初始化脚本的一部分--也就是说,当您登录到用户帐户时运行的脚本。您有两组:全局配置文件脚本(最常见的是/etc/profile或/etc/bashrc )和本地脚本,它们存储在主目录下作为.bashrc或.profile (实际使用的脚本依赖于您的shell,这些脚本对于bash来说非常常见)。登录时,相关的全局脚本首先运行,然后运行本地脚本,然后可以覆盖全局脚本所做的任何操作。因此,在.bashrc (或等效的)下,您只需附加到脚本umask 077,就可以将值设置为077。您也可以只运行umask 077来设置当前会话的umask。
发布于 2018-08-11 12:56:56
创建新文件时,它只有一个用户(所有者)和一个与其关联的组。即使用户A在多个组中,文件也只能与其中一个组相关联。您可以使用一个简单的ls -l来确认这一点。任何文件都有一个用户和一个组。
因此,即使用户A被添加到新组中,这个新组也无法访问文件,因此对其权限没有影响。新用户访问的唯一方法是将它们添加到初始拥有组G…中如果他们拥有实现这一目标所需的访问级别,那么无论如何他们都可以通过其他方式访问该文件。
https://unix.stackexchange.com/questions/461982
复制相似问题