将chroot应用于组时出错(groupmod:group' www'不存在)

时间:2017-07-24 18:48:49

标签: linux bash fedora

所以我尝试将组www中的所有用户chroot到目录/var/www。但是,每当我尝试这样做时,我都会说这个小组并不存在。 (即使该组确实存在)

[root@server var]# cat /etc/fedora-release
Fedora release 26 (Twenty Six)
[root@server var]# groupadd -r www
[root@server var]# groupmod -R /var/www www
groupmod: group 'www' does not exist
[root@server var]# ls -la
drwxrwxrwx.  5 root www     46 Jul 12 06:44 www

正如您所看到的,错误消息不是很有帮助。我已经查看了stackoverflow,但尚未找到对此特定问题的答案。

有人能说清楚我做错了吗?

1 个答案:

答案 0 :(得分:1)

这不是groupmod -R所做的。这意味着groupmod程序将chroot放入目录,然后执行所有操作。它适用于将一个系统安装在另一个系统中的情况,例如,如果您从实时USB驱动器启动以更改系统损坏。

groupmod运行chroot后,它会在/var/www/etc/group文件中查找哪个组ID www对应,这当然会失败,因为如果您的系统是在设置完好的情况下,您没有var/www/etc/group文件。

我不知道如何确保特定用户的所有流程都在chroot中运行,我认为这不是实现目标的正确方法。如果某个程序chroot已编入/var/www,则它无权访问它可能期望的任何实用程序,例如Web服务器可执行文件。相反,我会查看您的Web服务器的文档,看看它是否直接支持它,或者看看您是否可以使用systemd获得自定义安装命名空间。