Я думаю, что он новее, чем init
- идея, как уже было сказано, заключается в том, чтобы иметь исполняемые файлы (поэтому они не должны быть в /usr/lib
), которые вы никогда не ожидали бы иметь в чьем-либо $PATH
.
Скорее всего, вы ищете вариант ChrootDirectory
для sshd_config
.
For each user user_i, there is a folder named user_i. The user_i should have writing and reading permissions on his directory and all the files/directories in it.
Это невозможно с chroot
. Пользователи не могут иметь права на запись в каталог, в котором ониchroot
-находятся, поскольку это может привести к уязвимости системы безопасности (CVE -2009 -2904 ). Каждому пользователю нужен собственный каталог внутри chroot
, в который он может писать. Иерархия файловой системы может выглядеть следующим образом:
directory -- owner:group permissions
/chroots/ -- root:root 700
user_i/ -- root:root 700
data/ -- user_i:chroot_users 700
sshd_config
может выглядеть так:
Match Group chroot_users
ChrootDirectory /chroots/%u/
Это приведет к разделению пользователей. Но обратите внимание, что у этих пользователей нет никаких программ для запуска в их отдельных каталогах! Вы можете предоставить им доступ только по SFTP:
Subsystem sftp internal-sftp
или скопировать нужные программы в каждый chroot, например для простыхbash
:
cp --parents /bin/bash /chroots/user_i/
cp --parents `ldd /bin/bash | cut -d'>' -f2 | awk '{print $1}'` /chroots/user_i/