11

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

4

3 回答 3

6

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

于 2013-11-27T21:21:08.137 回答
3

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

必须为所有者设置执行位才能 cd 进入他们创建的目录,因此设置了用户执行权限,导致目录权限为 744,当使用上述 umask 时。

默认情况下,我没有找到设置执行的方法。无论如何,这将是一个糟糕的魔力,但我目前正在研究我正在编写的网络安全课程。

于 2017-10-10T19:35:00.690 回答
-5

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

笔记:

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

推荐方式

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

chmod +x /the/file
于 2013-03-24T15:01:31.510 回答