使新文件自动执行?

时间:2013-03-24 14:57:00

标签: file unix umask

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

3 个答案:

答案 0 :(得分:7)

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

答案 1 :(得分:1)

umask只是减去默认文件和目录权限。

777 initial file permissions
111 execute bit is not set by default
---
666 default file permissions
022 subtract default Unix umask
---
644 voila, final file permissions

必须为所有者设置执行位以进入其创建的目录,因此设置了用户执行权限,在使用上述umask时导致目录权限为744。

我发现默认情况下无法设置哪个会设置执行。无论如何,这将是糟糕的魔力,但我正在研究我正在编写的网络安全课程。

答案 2 :(得分:-2)

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

注意:

  1. 这是不安全的(我已经提过了吗?其他的确如此。)
  2. 可能会导致许多问题。一个是文件的创建 在一些系统上不允许)
  3. 推荐方式

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

    chmod +x /the/file