1、安裝
$ sudo apt-get install vsftpd
2、設置 vsftpd.conf文件(查找對應項,去掉注釋#,或更改成自定義值)
備份vsftpd.conf文件
$ sudo cp /etc/vsftpd.conf /etc/vsftpd.conf.old
編輯vsftpd.conf文件
vsftp.conf文件的介紹:
listen=YES
#listen_ipv6=YESanonymous_enable=YES 允許匿名登入
#local_enable=YES 允許本地用戶登入
#write_enable=YES 允許本地用戶修改和刪除
#local_umask=022 FTP上傳文件權限 ,默認是077
#anon_upload_enable=YES 允許匿名用戶上傳
#anon_mkdir_write_enable=YES 允許匿名用戶的寫和創建目錄的權限
dirmessage_enable=YES 當切換目錄時,顯示該目錄下message隱藏文件的內容
xferlog_enable=YES 激活上傳和下載的日志
connect_from_port_20=YES 啟動FTP數據端口的連接請求
#chown_uploads=YES
#chown_username=whoever 改變上傳文件的所有着為whoever
#xferlog_file=/var/log/vsftpd.log 上傳/下載日志文件所默認的路徑
#xferlog_std_format=YES 使用標准的ftpd xferlog日志格式
#idle_session_timeout=600 將在用戶會話空閑10分鍾后被中斷
#data_connection_timeout=120 將在數據連接空閑2分鍾后被中斷
#nopriv_user=ftpsecure 運行vsftpd需要的非特殊系統用戶默認nobody
#async_abor_enable=YES 是否允許運行特殊的FTP命令async
#ascii_upload_enable=YES 啟用上傳的ascii傳輸方式
#ascii_download_enable=YES 啟用下載的ascii傳輸方式
#ftpd_banner=Welcome to blah FTP service. 用戶連接服務器后顯示信息
#deny_email_enable=YES 是否允許某些匿名用戶使用郵件地址(默認的)
#banned_email_file=/etc/vsftpd.banned_emails如果是輸入禁止的郵件地址的路徑和名
==============================
#chroot_local_user=YES
#chroot_list_file=/etc/vsftpd.chroot_list
在 默認配置中,本地用戶可以切換到自家目錄以外的目錄進行瀏覽,並在權限許可的范圍內進行下載和上傳。這樣的設置對於一個FTP服務器來說是不安全的。如果希望用戶登錄后不能切換到自家目錄以外的目錄,則需要設置chroot選項,涉及如下選項:
chroot_local_user
chroot_list_enable
chroot_list_file
有兩種設置chroot的方法:
(1)設置對所有的本地用戶執行chroot(即活動范圍限制在自家目錄)只要將chroot_local_user的值設 為YES即可, 即:
chroot_local_user=YES
(2)設置指定的用戶執行chroot需要如下的設置:
chroot_local_user=NO
chroot_list_enable=YES (默認的)
chroot_list_file= /etc/vsftpd.chroot_list
這樣,只有/etc/vsftpd.chroot_list文件中指定的用戶才執行chroot。
注意 :上面所提及的文件/etc/vsftpd.chroot_list和下面將要提及的文件 /etc/vsftpd.user_list的格式要求均為每個 用戶名占一行。
#ls_recurse_enable=YES 是否使用ls-R命令已防止浪費大量的服務器資源
secure_chroot_dir=/var/run/vsftpd
#這個選項必須指定一個空的數據夾且任何登入者都不能有寫入的權限,當vsftpd 不需要file system 的權限時,就會將使用者限制在此數據夾中。默認值為/var/run/vsftpd
pam_service_name=vsftpd #定義PAM 所使用的名稱,預設為vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem vsftpd用的rsa證書的位置
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key 算法鑰匙地址!
—————————————————————————————————————————————————————————————
一份寫好的配置文件,功能:本地用戶登陸后將被定向到 local_root=/var/www擁有所有權限,匿名用戶登陸后定向到 anon_root=/home/ftp
本地用戶用獲得/www目錄的進入權限否則也會出錯,root用戶不能使用需要新建個其他用戶
listen=YES
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
ftpd_banner=Welcome to yangmao.
chroot_local_user=YES
chroot_list_file=/etc/vsftpd.chroot_list
secure_chroot_dir=/var/run/vsftpd
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
anon_world_readable_only=No
local_root=/var/www
anon_root=/home/ftp
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key