`chown root.root $file` 是什么意思?

`chown root.root $file` 是什么意思?

我正在尝试安装colordiff在自定义目录中,因为我没有sudo权限。我确实按照自述文件中的说明在 Makefile 中对目录进行了硬编码,但我收到此错误:

...
chown root.root /share/edu-mei/colordiff/1.0.13/etc/colordiffrc
chown: changing ownership of `/share/edu-mei/colordiff/1.0.13/etc/colordiffrc': Operation not permitted
make: [install] Error 1 (ignored)
...

更改此文件所有权并不是真正的问题(可能是作者忽略这一点的原因)。不过我不熟悉 的这种用法chown

chown 的联机帮助页说命令语法是:

chown [OPTION]... [OWNER][:[GROUP]] FILE...
chown [OPTION]... --reference=RFILE FILE...

但执行的命令是chown root.root $file.

使用点而不是冒号的语法是什么意思?

答案1

它将用户和组设置$fileroot(如chown OWNER.GROUP FILE...)。它与 call 相同chown root:root $file,但形式较旧。

该句点被替换为冒号,chown OWNER:GROUP FILE...按照记录给出,因为句点可能会出现在用户/组名称中。

答案2

“chown user.group file”是使用 chown 为文件设置用户和组的旧方法。此表示法现已弃用,您应该使用“:”代替,如“chown user:group file”中所示。

“$file”只是 shell 变量。也许您有一个脚本,可以对文件名列表重复命令(chown)。变量“$file”将包含当前正在处理的文件名,并将在脚本迭代的每个“回合”中发生变化,直到列表(所有文件名)已被处理(已将其所有者和组设置为 root:root) 。

相关内容