У меня есть 3 пользователя в моей системе:
Я установил proftpd на человечности 14.04. Используя DefaultRoot
директива я могу заключить в тюрьму пользователей в определенном каталоге, например, / домой / % 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 .
Надеюсь, это поможет!