【问题标题】:How to stop Sublime Text 2 from removing the "Read & Execute" flag upon save如何阻止 Sublime Text 2 在保存时删除“Read & Execute”标志
【发布时间】:2012-08-04 21:48:16
【问题描述】:

使用 Sublime Text 2,我有时必须编辑由 bash 在 cron 中执行的 shell 文件。但是,当我保存这些文件时,正在从文件中删除执行标志,导致 cron 在尝试执行文件时失败。每次更改文件时,我都必须对文件进行 chmod。以前,使用 Ultra-Edit,我从来没有遇到过这个问题。

有没有其他人处理过这个问题,可以推荐修复或解决方案?

【问题讨论】:

  • 对不起,如果这个问题听起来很愚蠢,但这可能是一个 umask 而不是 Sublime Text 问题吗?只是为了排除明显的情况。
  • 我不这么认为。该文件已经具有执行权限,它只是被打开、编辑和保存。我唯一能想到的是,Sublime Text 在打开文件时会创建一个您正在本地处理的临时文件,当您保存文件时,它会从文件系统中删除原始文件并将新保存的文件放入这是地方。这会将文件设置为默认标志。
  • 你可以试试 strace 看看会发生什么。 (我离电脑很远,无法复制,只能提供自助的想法。)
  • 在 ubuntu 下尝试使用最新的 Sublime Text 2 编辑 bash 文件,我没有遇到这个问题。
  • 那是什么操作系统? Ubuntu/OS X?

标签: linux sublimetext2 file-permissions samba


【解决方案1】:

假设您正在通过 Samba 编辑文件,Sublime Text 似乎每次保存文件时都会重新创建文件,使用默认的 umask,并且不保留旧权限。

获得 +x 权限的解决方法是设置

create mask = 755

在您的 Samba 的 smb.conf 文件中的相关共享部分中。

缺点,现在每个新文件都会有 +x。

【讨论】:

  • 是的,这在我们的环境中是不可能的。听起来我要向 Sublime Text 提交一个错误。
【解决方案2】:

可以通过禁用 samba 的 map_archive 功能来解决此问题。

[global]
map archive = no

这应该可以解决问题。

Source

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-05-06
    • 1970-01-01
    • 2017-09-06
    • 2012-08-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多