web-dev-qa-db-ja.com

各ユーザーのproftpd初期ディレクトリ

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クライアントに初期ディレクトリを入力する必要はありません)。

2
Dels

あなたは彼らのルートをそれぞれのホームディレクトリに設定しているようです。あなたが彼らに向けたいフォルダに行く彼らのホームフォルダにシンボリックリンクを追加することをお勧めします。 (ホームディレクトリを削除して、それらをそれらのフォルダとしてシンボリックリンクできる場合。また、ホームフォルダへのアクセスを許可する必要があるかもしれません。私は思いますが、よくわかりません。

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>
2
nhutto