Unix 文件权限问题

Unix 文件权限问题

我想设置权限,以便每当目录由“用户”创建,则其默认权限应为775

但当该“用户”创建新的文件那么默认权限应该是774

我怎样才能实现这个目标?

答案1

我不确定如何获取这些确切的权限,但使用 umask,您可以设置彼此 111 内的文件和目录的权限。

此网站解释了它的工作原理: http://kb.iu.edu/data/acge.html

例如:

umask 002

会给出目录 775 和文件 664。这不是您正在寻找的确切内容,但您可能能够找出与 umask 相关的东西。

默认的 umask 可以在 /etc/profile 中找到。可以通过编辑 ~/.profile 中的 umask 为每个用户覆盖该值。

注意:大多数 unix 机器的默认 umask 是 022,即:文件为 644 (rw-r--r--),目录为 755 (rwxr-xr-x)。

答案2

Umask 解释

新创建的文件和目录的默认文件权限是标准权限(rw-rw-rw对于文件,rwxrwxrwx对于目录)减去当前 umask 设置。umask 设置为 000 将保留标准权限,而设置为 777 将删除所有权限。

umask 中的三个数字分别代表用户、组和任何人的权限。该数字代表是否删除特定权限的三个二进制数字。

d - rwx
-------
0 - 000 (rwx)
1 - 001 (rw-)
2 - 010 (r-x)
3 - 011 (r--)
4 - 100 (-wx)
5 - 101 (-w-)
6 - 110 (--x)
7 - 111 (---)

要计算新文件在给定特定 umask 时将具有哪些权限,请从默认权限开始并减去 umask。

orig    rwx rwx rwx (777, default directory permission)
umask   000 010 010 (022)
result  rwx r-x r-x (755)

orig   rw- rw- rw- (666, default file permission)
umask  000 010 010 (022)
result rw- r-- r-- (644)

orig   rwx rwx rwx (777, default directory permission)
umask  000 000 010 (002)
result rwx rwx r-x (775)

orig   rw- rw- rw- (666, default file permission)
umask  000 000 010 (002)
result rw- rw- r-- (664)

相关内容