如何有条件地更改文件的所有权?

如何有条件地更改文件的所有权?

我的任务是更改仅当所有者为 时才hello调用的文件的所有者。我尝试使用但这不起作用。拜托,我需要帮助来解决任务。vincentguillamechmod vincent:guillame hello

答案1

chown是用于更改文件所有权的命令,而不是chmod.

find hello -user guillame -exec chown vincent {} \;

find与文件一起用作hello“搜索路径”。如果hello文件的所有者是guillamefind则将以该文件作为下一个参数执行chown vincent,将文件的所有权更改为vincent。如果文件的所有者不是guillame,则不会发生任何事情。

该命令应该可以移植到任何 Unix 系统。

请注意,这假设当前用户具有允许更改文件所有权的权限。您可能必须使用您通常在系统上运行具有升级权限的实用程序的任何其他方式以root 身份运行其中之一chown或本身。findsudodoas

答案2

仅针对一个名为 的文件hello

/usr/bin/test "$(stat --format="%U" hello)" = "guillame" && sudo chown vincent foo

相关内容