Ограничить доступ для пользователя RedHat к одному каталогу

Я думаю, что он новее, чем init - идея, как уже было сказано, заключается в том, чтобы иметь исполняемые файлы (поэтому они не должны быть в /usr/lib), которые вы никогда не ожидали бы иметь в чьем-либо $PATH.

3
13.05.2017, 15:59
1 ответ

Скорее всего, вы ищете вариант 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/
3
27.01.2020, 21:21

Теги

Похожие вопросы