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#!/bin/sh
CHROOT_DIR="/home/test"
mkdir -p $CHROOT_DIR/{dev,proc,dev/pts}
mount proc $CHROOT_DIR/proc -t proc #必须创建这个proc文件系统,用户登录后可以看到这个目录中有很多文件/子目录
mount devpts $CHROOT_DIR/dev/pts -t devpts #devpts文件系统,提供访问终端的接口
mknod $CHROOT_DIR/dev/ptmx c 5 2 #必须有,用户登录后要使用它,作为作为伪终端的master设备.
chmod 666 /dev/ptmx
mkdir $CHROOT_DIR/{home,home/push} #必不可少,用户目录
chmod ugo+rw $CHROOT_DIR/home/push
mkdir lib64
cp -a /lib64/* lib64/ #必不可少,提供bash运行所需要的库,以及其它程序所需要的库.
#这些文件如果没有,不会影响登录,但登录不能运行这些命令
mkdir bin
cp -a /bin/rmdir bin/
cp -a /bin/rm bin/
cp -a /bin/bash bin/
cp -a /bin/mkdir bin/
cp -a "/bin/pwd" bin/
cp -a /bin/ls bin/
cp -a /bin/bash bin/
#必须要有,登录后要根据这个文件查询用户信息.如果没有这个,sshd调试时会出现错误:login_init_entry: Cannot find user "push"
#这个错误说明找不到用户.
mkdir etc
cp -a /etc/passwd etc/