Я выполнил следующие шаги, чтобы настроить заключенного в тюрьму пользователя, здесь имя пользователя 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
где находится ваша тюрьма, чтобы скопировать все в нужное место. Теперь продолжайте и запустите команду для нужных двоичных файлов.
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**
Поскольку вы заключили пользователя в тюрьму, /home/test3
станет корневым каталогом для вошедшего в систему пользователя. Чтобы получить к нему доступ, вы должны правильно указать путь, абсолютный или относительный:
git clone domain.com:/home/test3.git