vim 创建的文件上的可执行位

vim 创建的文件上的可执行位

vim创建新文件有没有完全权限的设置?这恰好受到 umask 限制,并且仅适用于 vim 创建的文件。它不应该修改已经存在的文件的位。我已经看到了为 /bin/ 中的文件设置 x 位或以 #! 开头的解决方案,但我希望我的 vim 服从 umask,并且仅服从 umask。

答案1

以前在不同的地方都曾问过这个问题。简而言之,vimumask仅使用(像其他应用程序一样)关闭权限,但您可以使用脚本来修改文件权限。

大多数应用程序(例如文本编辑器)将其输出视为数据, 什么时候开幕(创建)文件,使用数据样式权限,例如 0666、0644、0600 等。同样,大多数程序本身不会设置 umask,而仅依赖现有设置来减少他们可能向某些用户提供的特权。

开设一个现存的文件是另一回事。许多编辑者使用相同的方法编写更新的文件,而不重新创建或重命名它索引节点。这恰好保留了文件的权限(和所有权)。一些(例如,vim 和 vile)具有一些临时更改文件权限以写入“只读”文件的规定。为此,他们必须知道原始权限是什么,但这又umask与生成的文件权限无关。

供进一步阅读

相关内容