使新文件自动执行?

Jur*_*nao 8 unix file umask

是否可以在创建所有新创建的文件时具有执行权限?为什么我不能默认授予它?

小智 8

从666中减去文件的umask,从777中减去目录.所以如果你的umask是002并且你创建了一个目录,你得到775(777 - 002),如果你创建了一个文件,你得到664(666 - 002) ).


Jea*_*ean -5

以安全的方式?不。以不安全的方式:只需在文件中umask添加即可更改,其中代表您希望的权限掩码。umask xxx~/.bashrcxxx

笔记:

  1. 这是不安全的(我已经提到过吗?其他人也提到过。)
  2. 它可能会导致很多问题。其中之一是某些系统不允许创建文件)

推荐方式

仅对实际需要执行权限的文件执行此操作。

chmod +x /the/file
Run Code Online (Sandbox Code Playgroud)

  • 这不是一个可接受的答案。文件的默认 umask 是 666,并且不能使用 umask 提升权限,只能将其设置为低于默认值。 (11认同)
  • 这不仅在理论上不安全,而且根本行不通。我直接尝试过的每个“umask”在执行位时都会忽略数字。 (2认同)
  • 例如,你用 apache 服务器做什么?添加新文件时是否会不断更新文件权限?这听起来像是一个真正的废话。 (2认同)