我的任务是更改仅当所有者为 时才hello
调用的文件的所有者。我尝试使用但这不起作用。拜托,我需要帮助来解决任务。vincent
guillame
chmod vincent:guillame hello
答案1
chown
是用于更改文件所有权的命令,而不是chmod
.
find hello -user guillame -exec chown vincent {} \;
这find
与文件一起用作hello
“搜索路径”。如果hello
文件的所有者是guillame
,find
则将以该文件作为下一个参数执行chown vincent
,将文件的所有权更改为vincent
。如果文件的所有者不是guillame
,则不会发生任何事情。
该命令应该可以移植到任何 Unix 系统。
请注意,这假设当前用户具有允许更改文件所有权的权限。您可能必须使用您通常在系统上运行具有升级权限的实用程序的任何其他方式以root 身份运行其中之一chown
或本身。find
sudo
doas
答案2
仅针对一个名为 的文件hello
:
/usr/bin/test "$(stat --format="%U" hello)" = "guillame" && sudo chown vincent foo