我最近将操作系统从 openSUSE 更改为 CentOS。转换的一部分是迁移我的 chroot jails 和 schroot 配置。但是,转换似乎不是“即插即用”。我以前能够以用户“richard”的身份使用 schroot,但在 CentOS 上只有 root 用户才能使用 schroot。
这非常不方便,因为以前快速简单的操作现在需要输入密码。我可以更改配置以允许 richard 用户使用 schroot 吗?
例子
$ schroot -c kanos date
E: kanos-247a7d6f-8a4e-4ac2-8d5a-99ce7d66b8a3: Failed to lock chroot:/var/lib/schroot/session/kanos-247a7d6f-8a4e-4ac2-8d5a-99ce7d66b8a3: Failed to write session file: Permission denied
$ sudo schroot -c kanos date
Fri Apr 10 11:43:53 GMT 2015
注意:我尝试更改/var/lib/schroot/会话/和/var/lib/schroot/安装/,给予 richard 用户访问权限。Schroot 不喜欢这样,并抱怨只有 root 才应该有访问权限。
$ schroot -c kanos date
E: 10mount: mount: only root can use "--bind" option
E: 10mount: /etc/schroot/setup.d/10mount: line 52: /var/lock/schroot/umount: Permission denied
E: kanos-92acb0de-f663-4bd0-a6b6-9bbe9771b454: Chroot setup failed: stage=setup-start
系统信息
CentOS Linux release 7.0.1406 (Core)
schroot-1.6.5-5.el7.x86_64
配置
[kanos]
description=kanos build server jail
type=directory
directory=/var/chroot/kanos
users=richard
groups=richard
root-users=root
root-groups=root
personality=linux32
preserve-environment=true
答案1
我遇到了同样的问题,并找到了解决方案。您需要将 setuid root 设置为 schroot 可执行文件。步骤如下所示。
cd /usr/bin
sudo chmod 4755 schroot
- 好好享受。