Это с Ubuntu Server 20.04. Вот мой терминальный сеанс:
joek@comp1:/home/user4$ sudo usermod -R /home/user4 user4
usermod: user 'user4' does not exist
joek@comp1:/home/user4$ sudo useradd user4
useradd: user 'user4' already exists
joek@comp1:/home/user4$ grep user4 /etc/passwd
user4:1010:1011::/home/user4:/bin/sh
joek@comp1:/home/user4$ grep user4 etc/passwd
user4:1010:1011::/home/user4:/bin/sh
Я нигде не смог найти ответ. Как мне сделать chroot пользователя в /home/user4
?
Редактировать:
Я не создавал chroot. У меня есть только каталог с /bin
, /home
, и т.д.
Пользователь используется rsync
на чужом компьютере для отправки резервных копий на мой компьютер. Я не хочу, чтобы у них был доступ ко всему на моем компьютере.
решение1
Флаг -R в chroot запускает все внутри chroot-среды, сообщает, что пользователь не существует, поскольку ищет файл passwd внутри /home/user4/etc/, который, вероятно, не существует.
Команда, которую вы, вероятно, хотите использовать, — это sudo usermod -d /home/user4 user4
смена домашнего каталога.
Для обеспечения изолированной среды, в которой пользователь видит /home/user4 как свой собственный корневой путь, не управляемый файлом passwd или командой usermod.
Более подробная информация здесь.