1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38
| 参考文章: https://blog.51cto.com/u_4585258/1285734 创建一个目录,目录结构与实际的/目录结构类似
1. USERNAME="ppp" PASSWORD="4tzQ3VPnfLAr2aCjngUm" useradd -s /bin/bash -d /home/$USERNAME -m $USERNAME echo "${USERNAME}:${PASSWORD}" | chpasswd
2. 将chroot目录设置在/chroot下 mkdir -p /chroot/etc cp -vf /etc/{passwd,group} /chroot/etc/
mkdir -p /chroot/{etc,dev,proc,lib,bin,home,usr,lib64} mkdir -p /chroot/usr/{bin,lib,libexec} mkdir -p /chroot/home/ppp
3. 拷贝/etc/passwd文件 cp -a /etc/passwd /chroot/etc/passwd 然后删除里面的无关用户。
4. 拷贝需要的命令例如 chrootPath="/chroot/"; commandList="bash ls ps du echo date ping ifconfig curl id grep uname sh"; for command in $commandList; do cp -L "$(which $command)" "$chrootPath$(dirname $(which $command))" cd "$chrootPath"; list=`ldd $(which $command) | egrep -o '/lib.*\.[0-9]'`; for i in $list; do cp -v -L --parents "$i" "./"; done done
拷贝用户下的信息 cp -a /home/$USERNAME/* /chroot//home/$USERNAME 简单测试一下,看看chroot命令是否可以用该目录当作/环境。 chroot /chroot 没有错误信息即可,正常应显示bash的信息。
|