linux - 为文件设置位 "setuid"并使用 git 将更改存储到存储库上

标签 linux git attributes

我有一个 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/

相关文章:

git - 致命的 : A branch named 'gh-pages' already exists

git - 如何列出没有本地分支的所有远程分支?

c# - 我如何记录一个 c# dll

python - 类属性无故改变值

ruby - 在 Ruby 中解析日期字符串时出现 ArgumentError

linux - 如何从另一个用户的另一个 shell 脚本调用 shell 脚本?

linux - 使用 Linux 头文件中的 unistd.h 构建不带 libc 的静态 ELF

git - 错误:下载的Udacity类(class)/纳米学位的路径不存在(udacimak)

visual-studio - 添加到默认具体类的接口(interface)的属性?

linux - Linux上 '/opt'文件夹的正确使用