我有一个 git 存储库,我需要使用“chmod 6775”为其中一个文件设置 setuid,然后提交更改。
但是当我将该存储库下载到另一台主机时,这些更改不会出现。我在属性中没有看到“S”或“s”符号:
After commit:
-rwsrwsr-x 1 root stuff 51804 Apr 13 18:05 cli-0-38
After download:
-rwxrwxr-x 1 root stuff 51804 Apr 13 18:05 cli-0-38
您能建议一下如何实现它吗?
最佳答案
Git(不幸的是)不跟踪完整的文件模式。它只跟踪可执行位,即使如此,它也只跟踪整个文件的单个位,而不是每个用户/组/其他。因此您将无法使用 git 来跟踪此设置。
例如,解决这个问题的一种方法是编写一个小的“setup.sh”shell 脚本,在其中存储各种“chmod u+s filename”操作,并在执行新的克隆或 pull 后运行该脚本.关于linux - 为文件设置位 "setuid"并使用 git 将更改存储到存储库上,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43396652/