CHMOD vs UMASK - Linux文件权限

时间:2017-10-29 06:58:05

标签: linux chmod systems-programming umask

在脚本中,我应该先创建一个文件然后使用CHMOD来分配权限(例如,首先使用TOUCH命令创建一个文件,然后使用CHMOD编辑该文件的权限)" OR&# 34;我应该在创建文件时使用UMASK屏蔽权限吗?另外,请解释一个选择另一个的优缺点是什么?

注意:此文件不需要执行。

3 个答案:

答案 0 :(得分:1)

与大多数事情一样,它取决于您提供的信息远远多于: - )

然而,以封闭的方式做事然后打开它们通常是个好主意,而不是相反。这是基本的“安全101”。

例如,假设您正在为用户创建一个文件,并且用户愚蠢地选择了umask为零(实际上创建的所有文件都将拥有所有人的完全权限)。

在这种情况下,文件完全打开,任何人都可以在创建和chmod阶段之间进行更改,虽然这次最小化,但您无法完全删除它。< / p>

对于我们中间真正偏执的人来说,最好以尽可能封闭的方式创建文件(对于所有者来说可能只是rw),做任何你需要做的事来创建该内容文件,然后使用chmod将其打开到它需要的状态,例如:

( umask 177 ; create_file myfile.txt ; chmod 644 myfile.txt )

答案 1 :(得分:0)

简单地说 - 这没关系。在大多数情况下,方法取决于您的需求。

如果您需要对整个脚本逻辑具有相同的文件权限,我宁愿在脚本的开头设置它,只需创建文件而不是创建并运行chmod命令。但是,您可以在运行chmod 0XXX -R /path/to/folder

的脚本结束时立即设置文件权限

答案 2 :(得分:0)

对于特定用户,您应始终拥有UMASK,因为您不希望每次或应用程序创建文件时都要处理设置权限。如果您想使用CHMOD,您可以进一步保护/释放任何特定文件(这些情况非常罕见)。除非您正在创建的文件需要特别保护/访问,否则您应该让UMASK为其权限工作。

  • 为运行脚本的应用程序创建单独的用户和指定目录。
  • 设置合适的UMASK。
  • 如果需要,请指定额外权限