为什么将 .bash_profile 从主机系统复制到 iocage 精简监狱的 /root 目录中时不会创建 root 用户登录该监狱时可见的文件?
换句话说,如果我从主机系统执行此操作:
cp -p .bash_profile /zroot/iocage/jails/testjail/root/
然后就ls -al /zroot/iocage/jails/testjail/root/.bash_profile
显示该文件存在。
ls -al /zroot/iocage/jails/testjail/root/.bash_profile
-rwxr-xr-x 1 root wheel 3274 Dec 12 15:42 /zroot/iocage/jails/testjail/root/.bash_profile
但是,当我登录 testjail 时,该文件对于 root 用户是不可见的:
iocage console testjail
ls -a .bash_profile
ls: .bash_profile: No such file or directory
如果我检查主机系统上的安装,那么除其他外,我还会看到以下内容:
zroot/iocage/jails/testjail/root on /zroot/iocage/jails/testjail/root (zfs, local, noatime, nfsv4acls)
我相信这就是我遇到的困难的根源。如何将文件放入 iocage jail 的 /root 目录中,以便 jail 内的 root 用户可以使用它?
答案1
zroot/iocage/jails/testjail/root on /zroot/iocage/jails/testjail/root (zfs, local, noatime, nfsv4acls)
问:“... 安装在主机系统上... 是我遇到的困难的根源。如何将文件放入 iocage jail 的 /root 目录中,以便 jail 内的 root 用户可以使用它?”
答:FWIW。在类似的挂载点中创建了一个测试文件
zroot/jails/test_01 on /local/jails/test_01 (zfs, local, nfsv4acls)
$ touch /local/jails/test_01/root/TEST-FILE
$ ll /local/jails/test_01/root/TEST-FILE
-rw-r--r-- 1 root wheel 0 Dec 13 12:56 /local/jails/test_01/root/TEST-FILE
可供 root 使用
$ ssh admin@test_01
$ sudo su
root@test_01:/home/admin # bash
root@test_01:/home/admin # cd /root
root@test_01:~ # ll /root/TEST-FILE
-rw-r--r-- 1 root wheel 0 Dec 13 11:56 /root/TEST-FILE
笔记:
- FreeBSD jails.example.com 12.0-发布 FreeBSD 12.0-发布 r341666 通用 i386
- 使用以下方式创建的 JailsAnsible 角色。
答案2
该目录/zroot/iocage/jails/testjail/root/
不是root用户的主目录;/zroot/iocage/jails/testjail/root/root/
是。