Назад | Перейти на главную страницу

Невозможно настроить git с заключенным в тюрьму пользователем

Я выполнил следующие шаги, чтобы настроить заключенного в тюрьму пользователя, здесь имя пользователя 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