我已經在 Ubuntu 16.04 上配置了 Vsftpd。一切正常,但我還需要一件事。
假設我有:
- 資料夾 /var/www/folder1/uploads
- 虛擬使用者:admin1、admin2、admin3、customer
- 我使用 vsftpd_user_conf 資料夾來儲存使用者 local_root
我希望 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
該文件的格式在本手冊頁中有詳細說明(請參見下面的連結)。
請注意並非所有設定都對每個使用者有效。例如,許多設定僅在使用者會話開始之前進行。不會影響每個使用者的任何行為的設定範例包括:
- 監聽地址
- 橫幅文件
- 每個IP的最大數量
- 最大客戶端數
- xferlog_文件
- ETC...
預設情況下,沒有設定其中任何一項。