我已执行以下步骤来设置被监禁的用户,此处的用户名是 test3
mkdir -p /home/test3/{dev,etc,lib,usr,bin}
mkdir -p /home/test3/usr/bin
chown root.test3 /home/test3
mknod -m 666 /home/test3/dev/null c 1 3
cd /home/test3/etc
cp /etc/ld.so.cache .
cp /etc/ld.so.conf .
cp /etc/nsswitch.conf .
cp /etc/hosts .
cd /home/test/usr/bin
cp /bin/ls .
cp /bin/bash .
cd /sbin
wget -O l2chroot http://www.cyberciti.biz/files/lighttpd/l2chroot.txt
chmod +x l2chroot
编辑l2chroot
文件并更改BASE=”/webroot”
为BASE=”/home/test”
。这会告诉l2chroot
您的 jail 位于何处,以便它将所有内容复制到正确的位置。现在继续对您想要的二进制文件运行命令。
l2chroot /bin/ls
l2chroot /bin/bash
l2chroot /usr/bin/git*
挂载 test.git 到 /home/test3/home/test3.git
mount --bind /path/test.git /home/test3/home/test3.git
创建了一个新组,并将 test3 用户添加到其中,将 test.git 的组更改为 git
編輯/etc/ssh/sshd_config
Match User test3
ChrootDirectory /home/test3/
X11Forwarding no
AllowTcpForwarding no
PasswordAuthentication yes
能够通过 ssh 连接到 test3
但在做的时候git clone ssh://domain.com:22/home/test3/home/test3.git
**Error : fatal: '/home/test3/home/test.git' does not appear to be a git repository
fatal: The remote end hung up unexpectedly**
答案1
由于您已将用户关入监狱,/home/test3
因此将成为登录用户的根目录。要访问它,您应该正确指定路径,无论是绝对路径还是相对路径:
git clone domain.com:/home/test3.git