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

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

У меня в системе 3 пользователя:

Я установил proftpd на ubuntu 14.04. С помощью DefaultRoot директива я могу заключать пользователей в тюрьму в определенном каталоге, например / home /% u / test

Но что, если мне нужно установить dir /srv/www/domain.com только для одного пользователя, например: user1?

Вам нужно в значительной степени обмануть его, используя mount --bind, например, для пользователя, которого вы хотите в этом каталоге

 mount --bind /srv/www/domain.com /home/user1/test/domain.com

Вы также можете использовать необязательные параметры группы для DefaultRoot директива. Например, предположим, что каждый из ваших пользователей принадлежит к одноименной группе:

  • пользователь1 принадлежит к группе1
  • пользователь2 принадлежит к группе2
  • user3 принадлежит к group3

ProFTPD оценивает DefaultRoot директивы в своих файлах конфигурации в том порядке, в котором они появляются, и использует первая соответствующая директива. Таким образом, вы можете использовать следующую конфигурацию, чтобы использовать другой chroot каталог только для пользователя user1:

# Users in group1 will be jailed to this specific directory...
DefaultRoot /srv/www/domain.com group1

# ...while all other users get their own home directory
DefaultRoot /home/%u/test

Причина, по которой имена групп используются DefaultRoot, а не имена пользователей, заключается в том, что имена групп могут использоваться для охвата / обработки большего количества пользователей одновременно, вместо того, чтобы требовать много отдельных DefaultRoot директивы для каждого пользователя.

Более подробно это описано в ProFTPD Chroot howto.

Надеюсь это поможет!