我设置了一个 Debian 虚拟机,并想到了一些有关 UMASK 的事情。首先我想问一下UMASK的功能是否是对用户创建的任何文件设置CHMOD值。其次,有没有一种方法可以使用UMASK来有效地将root锁定在文件之外,或者是root是“上帝”并能够解锁较小用户的任何文件的问题吗?在这种情况下,对于寻求私有文件的用户来说,在 debian 中运行某种类型的虚拟机来将我作为管理员锁定在他们的文件之外会更有意义吗?
答案1
如果UMASK的功能是设置CHMOD值
umask
不等于chmod
.进程 umask 描述了首次创建文件时哪些权限位将被自动清除。它的工作原理如下:
actual permission = requested permission & ~umask
通常,应用程序会像0666
常规文件一样请求权限,而 umask 可能是,例如027
.结果是0640
。说的umask
是:
- 不要清除任何所有者位(
0
二进制000
) - 强制关闭按组可写标志(
2
,二进制010
) - 强制关闭其他人的所有权限(
7
,二进制111
)
chmod
对于诸如显式设置所有权限位之类的操作,根本不会咨询 umask 。
其次,有没有一种方法可以使用UMASK来有效地将root锁定在文件之外
不。您所做的任何事情都不会阻止 root 访问任何文件...
对于寻求私有文件的用户来说,可以在 debian 中运行某种类型的虚拟机
……连这个都没有。虚拟机管理程序或 dom0(或类似的其他虚拟化技术)上的 root 用户仍然可以访问系统上的任何内容。