Ubuntu 16.04 で Vsftpd を設定しました。すべて正常に動作しますが、もう 1 つ必要なことがあります。
たとえば、次のようなものがあるとします。
- フォルダ /var/www/folder1/uploads
- 仮想ユーザー: admin1、admin2、admin3、customer
- 私は、ユーザーをlocal_rootに保存するためにvsftpd_user_confフォルダを使用します。
adminX ユーザーに 'folder1' と 'uploads' の読み取り/書き込み権限を与えたいのですが、ユーザー 'customer' には 'folder1' の読み取り権限と 'uploads' の読み取り/書き込み権限のみを与えたいです。現在、'folder1' は読み取り専用で、/var/www/folder1 にアクセスできるすべてのユーザーが 'uploads' に書き込めるという状況になっています。これは可能ですか?
$ ls -la /var/www/folder1
drwxrwxr-x 3 root root 4096 May 9 17:14 .
drwxr-xr-x 3 root root 4096 May 9 17:13 ..
drwxr-xr-x 2 vsftpd nogroup 4096 May 9 17:15 upload
$ vsftpd.conf:
listen=YES
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
local_root=/var/www
chroot_local_user=YES
allow_writeable_chroot=YES
hide_ids=YES
#virtual user settings
user_config_dir=/etc/vsftpd_user_conf
guest_enable=YES
virtual_use_local_privs=YES
pam_service_name=vsftpd
nopriv_user=vsftpd
guest_username=vsftpd
答え1
ls -la /var/www/folder1
およびを提供できますかcat vsftpd.conf
?
そして、おそらく、これを使用することができます:
user_config_dir
この強力なオプションを使用すると、マニュアル ページで指定された設定オプションをユーザーごとに上書きできます。使い方は簡単で、次の例で説明するのが最適です。
user_config_dir を に設定し/etc/vsftpd_user_conf
、ユーザー としてログオンするとchris
、セッションの期間中、vsftpd
ファイル内の設定が適用されます/etc/vsftpd_user_conf/chris
。このファイルの形式は、このマニュアル ページ (以下のリンクを参照) に詳細が記載されています。
ご注意くださいすべての設定がユーザーごとに有効になるわけではありません。たとえば、多くの設定はユーザーのセッションが開始される前にのみ有効になります。ユーザーごとに動作に影響を与えない設定の例は次のとおりです。
- listen_address
- バナーファイル
- 最大IP
- 最大クライアント
- xferlog_ファイル
- 等...
デフォルトでは、いずれも設定されていません。