spaceman117X Asked: 2018-08-22 07:05:36 +0800 CST2018-08-22 07:05:36 +0800 CST 2018-08-22 07:05:36 +0800 CST “chgrp 0”做什么? 772 我正在分析一个脚本,但在网上找不到chgrp 0以下行的含义: find $1 -follow -exec chgrp 0 {} 所以 find $1接受参数, -follow导致 find 遵循符号链接, -exec执行命令, chgrp 0更改组所有权,但是 0 做什么?, {}对于 find 命令找到的所有项目。 如果我有什么不对,请纠正我。 find chgrp 3 个回答 Voted Best Answer DopeGhoti 2018-08-22T07:09:21+08:002018-08-22T07:09:21+08:00 chgrp 0 file将文件的组所有权更改为file具有 GID 的组,0在 Linux 中几乎所有情况下都是root组(在 BSD 中,这几乎总是wheel)。因此,您的命令将find在第一个位置参数($10rootwheel Alexander 2018-08-22T08:09:21+08:002018-08-22T08:09:21+08:00 基本上,linux 中任何文件/目录的所有权都存储在inode中。并将其存储为整数(用户为整数,组为第二个整数)。它仅取决于您的 NSS(例如 /etc/passwd 文件或 ldap),它将在 ls 中显示给您哪个名称。执行类似chgrp root file系统的操作将获取“root”组的 GID(在我的情况下为 0)并将该 0 写入 inode。你也可以做这样的事情: # touch testfile # chgrp 135543 testfile # ls -l testfile -rw-r--r--. 1 root 135543 0 Aug 21 18:05 testfile # groupadd -g 135543 testgroup # ls -l testfile -rw-r--r--. 1 root testgroup 0 Aug 21 18:05 testfile Rituraj 2018-08-22T07:37:46+08:002018-08-22T07:37:46+08:00 0 是 root 的 UID 和 GID。因此,当您执行 chgrp 0 时,您正在将文件/目录的组所有权更改为 root。
chgrp 0 file
将文件的组所有权更改为file
具有 GID 的组,0
在 Linux 中几乎所有情况下都是root
组(在 BSD 中,这几乎总是wheel
)。因此,您的命令将find
在第一个位置参数($1
0
root
wheel
基本上,linux 中任何文件/目录的所有权都存储在inode中。并将其存储为整数(用户为整数,组为第二个整数)。它仅取决于您的 NSS(例如 /etc/passwd 文件或 ldap),它将在 ls 中显示给您哪个名称。执行类似
chgrp root file
系统的操作将获取“root”组的 GID(在我的情况下为 0)并将该 0 写入 inode。你也可以做这样的事情:0 是 root 的 UID 和 GID。因此,当您执行 chgrp 0 时,您正在将文件/目录的组所有权更改为 root。