У меня в системе 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
директива. Например, предположим, что каждый из ваших пользователей принадлежит к одноименной группе:
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.
Надеюсь это поможет!