【发布时间】:2012-05-24 10:55:11
【问题描述】:
我想在我的 Linux 机器中拥有一个具有 777 权限的目录,但是放置(复制/移动)其中的任何文件都需要自动设置 666 权限。 换句话说,在 Linux 中是否有可能有一个目录,其中放置的任何文件都会自动变为不可执行?
【问题讨论】:
-
是 666 更重要,还是该目录中的文件不可执行?
标签: linux file permissions directory
我想在我的 Linux 机器中拥有一个具有 777 权限的目录,但是放置(复制/移动)其中的任何文件都需要自动设置 666 权限。 换句话说,在 Linux 中是否有可能有一个目录,其中放置的任何文件都会自动变为不可执行?
【问题讨论】:
标签: linux file permissions directory
您可以使用noexec 标志挂载文件系统;此类系统中的任何文件都将不可执行,即使其权限另有说明。
【讨论】:
这样做的一个好方法是使用“umask”内置,这会影响当前shell环境的文件创建掩码,您可以使用
获取当前掩码umask -S
所以要创建具有特定掩码的文件,您可以执行以下操作:
mask_for_file_creation="u=rw,g=rw,o=rw"
curr_mask=$(umask -S)
umask $mask_for_file_creation
#create files here
umask $curr_mask
提供掩码作为 umask 的第一个参数会将掩码设置为该值。
【讨论】: