Proftpdサーバーを正常にセットアップした後、ユーザーごとに初期ディレクトリを追加したいのですが、2人のユーザー、すべてのフォルダーにアクセスできるwebadminと、アップロードフォルダーにのみアクセスできるアップロードがあります。
...
# 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クライアントに初期ディレクトリを入力する必要はありません)。
あなたは彼らのルートをそれぞれのホームディレクトリに設定しているようです。あなたが彼らに向けたいフォルダに行く彼らのホームフォルダにシンボリックリンクを追加することをお勧めします。 (ホームディレクトリを削除して、それらをそれらのフォルダとしてシンボリックリンクできる場合。また、ホームフォルダへのアクセスを許可する必要があるかもしれません。私は思いますが、よくわかりません。
UPDATE 2つの仮想ホストを使用して、2人のユーザーを分割し、それぞれにデフォルトのルートを設定できます。
<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>