如何正确递归地 chown 文件(包括隐藏目录)

如何正确递归地 chown 文件(包括隐藏目录)

这个难题是由git pullroot 运行引起的。

我这样做有多种原因......我希望我的设备在启动时更新代码,并且rc.local由 root 运行。

一切都工作得很好(npm install当由 root 运行时往往会失败,但这是一个完整的“另一个主题”),当我随后尝试与非 root 用户一起使用 git 存储库时,问题就出现了......一些 git 文件有是由 root 编写的,所以现在我不能再使用它了(权限被拒绝)。

所以我想递归地chown返回它,但似乎没有任何东西真正适用于所有的小 git 文件。我尝试了-R标志和./**/*路径。

我的猜测是,这些技术都不会落入点目录中。

答案1

以下命令在 Ubuntu 中适用于我。它反复更改了所有文件和目录的所有权

sudo chown -R someuser:somegroup YourDir

答案2

我用tree

 sudo tree -fai ~/.blabla  | xargs -L1 -I{} sudo chown youruser:youruser {}

另请注意不要在“/”目录或其他系统目录上运行递归 chown 或 chmod。

相关内容