После успешной настройки сервера proftpd я хочу добавить начальный каталог для каждого пользователя, у меня есть 2 пользователя, веб-администратор, который может получить доступ ко всей папке и загрузке, которая может получить доступ только к папке загрузки
...
# Added config
DefaultRoot ~
RequireValidShell off
AuthUserFile /etc/proftpd/passwd
# VALID LOGINS
<Limit LOGIN>
AllowUser webadmin, upload
DenyALL
</Limit>
<Directory /home/webadmin>
<Limit ALL>
DenyAll
</Limit>
<Limit DIRS READ WRITE>
AllowUser webadmin
</Limit>
</Directory>
<Directory /home/webadmin/upload>
<Limit ALL>
DenyAll
</Limit>
<Limit DIRS READ WRITE>
AllowUser upload
</Limit>
</Directory>
Все настроено нормально, но мне нужно указать начальный каталог моего ftp-клиента для каждого пользователя (в противном случае он не сможет получить каталог), который, я думаю, должен быть автоматически установлен для каждого пользователя (нет необходимости вводить начальный каталог в ftp-клиенте)
Похоже, вы устанавливаете их корни в их соответствующие домашние каталоги, я бы рекомендовал добавить символическую ссылку в их домашние папки, которая ведет к папке, в которую вы хотите, чтобы они были направлены. (если вы можете просто удалить их домашние каталоги и создать символическую ссылку на них как на эти папки. Также вам может потребоваться разрешить доступ к их домашним папкам. Я думаю, но не уверен.
ОБНОВЛЕНИЕ вы можете использовать два виртуальных хоста, чтобы разделить двух пользователей, а затем установить корень по умолчанию для каждого из них.
<VirtualHost my.per-user.virtual.host.address>
# the next line limits all logins to this virtual host, so that only
anonftp users can connect
<Limit LOGIN>
DenyGroup !anonftp
</Limit>
# limit access to each user's anon-ftp directory, we want read-only
except on incoming
<Directory ~/anon-ftp>
<Limit WRITE>
DenyAll
</Limit>
</Directory>
# permit stor access to each user's anon-ftp/incoming directory,
but deny everything else
<Directory ~/anon-ftp/incoming>
<Limit STOR>
AllowAll
</Limit>
<Limit READ WRITE>
DenyAll
</Limit>
</Directory>
# provide a default root for all logins to this virtual host.
DefaultRoot ~/anon-ftp
# Finally, force all logins to be anonymous for the anonftp group
AnonymousGroup anonftp
</VirtualHost>