歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Ubuntu中Vsftpd配置上傳管理Web目錄

Ubuntu中Vsftpd配置上傳管理Web目錄

日期:2017/2/28 16:19:06   编辑:Linux教程

Vsftpd配置還是好麻煩,花了不少時間,特別是權限管理,什麼本地用戶和虛擬用戶。

配置vsftpd主要是為了方便上傳web,並讓apache能夠訪問。

以默認目錄/var/www為例

目標:
建立ftp服務,指定虛擬用戶並設置對提供web的目錄具有寫操作。

指定apache服務所在用戶加入ftp虛擬用戶組,使ftp只需要調整組權限就能調整是否對apache可寫,無需777權限。\

1.vsftpd安裝,添加虛擬用戶的帳戶

sudo apt-get install vsftpd

sudo useradd ftpvirtual -d /home/ftpvirtual -s /bin/false

修改vsftpd配置文件

sudo vim /etc/vsftpd.conf

自己的配置文件為:

listen=YES
anonymous_enable=NO
local_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
xferlog_file=/var/log/vsftpd.log
data_connection_timeout=2
chroot_local_user=YES
secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd#權限驗證,指向/etc/pam.d/vsftpd
user_config_dir=/etc/vsftpd/user_conf#虛擬用戶的配置目錄

data_connection_timeout=120

guest_enable=YES#打開虛擬用戶
guest_username=ftpvirtual#虛擬用戶使用的本地用戶,由上面命令創建

准備建立虛擬用戶,本來還有mysql的方式,不過太麻煩就懶得去做了,用不到這麼強的功能。

首先建立一個空白文件:

sudo vim /etc/vsftpd/virtuals

該文件輸入的內容就是虛擬用戶的用戶名和密碼,格式為一行用戶名一行密碼例如:

testuser

111111

username

password

使用命令將該文本轉為數據庫,這裡不清楚是否安裝了db4.7-util,沒有安裝的執行下面命令(可能老版本為4.6,新版本就不知道了)

sudo apt-get install db4.7-util

執行命令建立數據庫文件

sudo db4.7_load -T -t hash -f /etc/vsftpd/virtuals /etc/vsftpd/virtuals.db

設置一下數據庫文件權限,並刪除剛才的文本文件

sudo chmod 600 /etc/vsftpd/virtuals.db

sudo rm /etc/vsftpd/virtuals

現在配置PAM文件

sudo vim /etc/pam.d/vsftpd

修改內容為下面內容,注意沒有".db"這個後綴

auth required /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers
account required /lib/security/pam_userdb.so db=/etc/vsftpd/virtusers

將/var/www擁有者和組改為ftpvirtual

sudo chown -R ftpvirtual:ftpvirtual /var/www

建立虛擬用戶配置文件

sudo vim /etc/vsftpd/user_conf/test_user

加入以下權限設置內容

write_enable=YES
local_root=/var/www
local_umask=003
anon_umask=003
anon_world_readable_only=NO
anon_upload_enable=YES
anon_mkdir_write_enable=YES
anon_other_write_enable=YES

將www-data用戶加入ftpvirtual用戶組

gpasswd -a www-data ftpvirtual

重啟vsftpd

sudo /etc/init.d/vsftpd restart

以上配置完成。

如果考慮更安全的權限,應該把anon_umask調整為023,需要可寫的地方用ftp設置組的寫權限。

配置環境

Ubuntu 9.04 server 32bit

Copyright © Linux教程網 All Rights Reserved