古老的榕树

Ubuntu 14.04 搭建 vsftpd 服务器

潘军杰 发表于 2016-08-21 18:30 阅读(4239) 评论(0) 赞(2)

需要搭建一个独立静态文件服务器,作为源服务器,给阿里云做 CDN 文件分发,我没有选择阿里云的 OSS 作为源存储,而是用自己的服务器。


多个应用程序选择 FTP 上传文件,到源文件服务器上。而放弃了挂载的方式,一来是集中管理,二来担心挂载出现问题,所以决定配置 FTP 服务器的方式做。我不能确定这种方式是否是最好的,在我这边算是比较合适的。


其实只需要简单搭建,不是要涉及到新建数据库,虚拟账号这些复杂的配置,用户使用系统用户,禁止登陆 shell 就行。整个搭建更注重实用性和可靠性。


废话少说,开始搭建 FTP 服务器了


ubuntu 14.04 搭建 vsftpd 服务器

一、首先安装 vsftpd


前奏系统更新一下


sudo apt-get install upgrade

sudo apt-get install update


安装vsftpd 
sudo apt-get install vsftpd

打开配置文件
nano /etc/vsftpd.conf

全部的新配置文件(替换配置前,记得备份文件)
listen=YES
listen_port=21
anonymous_enable=NO
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
use_localtime=YES
xferlog_enable=YES
connect_from_port_20=YES

chroot_list_enable=YES
chroot_list_file=/etc/vsftpd.chroot_list
chroot_local_user=YES

secure_chroot_dir=/var/run/vsftpd/empty
pam_service_name=vsftpd
rsa_cert_file=/etc/ssl/certs/ssl-cert-snakeoil.pem
rsa_private_key_file=/etc/ssl/private/ssl-cert-snakeoil.key

check_shell=NO

allow_writeable_chroot=YES


配置文件是关键的选项,其中不一一解释

新建一个附属文件
touch /etc/vsftpd.chroot_list



二、添加ftp用户和增加密码,设置相关权限


先新建ftp 的目录
sudo mkdir /home/ftp



新建 ftp 用户 ftpuser
sudo useradd  ftpuser -d /home/ftp -s /bin/false


设置 ftpuser 的密码
sudo passwd ftpuser


设置 ftpuser 的权限和所属

sudo chown -R ftpuser:ftp /home/ftpuser
sudo chmod -R 700 /home/ftpuser


三、改 pam.d/vsftpd (很关键)

这时候直接用useradd的帐号登录ftp会530 login incorrect

sudo nano /etc/pam.d/vsftpd
注释掉 
#auth    required pam_shells.so


四、重启vsftpd

sudo service vsftpd restart



使用 ftp 客户端访问试试看吧,ip 是服务器的ip,端口21,用户和密码省略。

五、附加信息


ftpuser 的目录和权限很重要,实际应用中,我们可能需要修改 ftpuser 的所属目录

给 ftpuser 用户指定新的所属目录
usermod -d /var/ftpuser/pub/squal ftpuser

把 ftpuser 老的所属目录迁移到新的地方
usermod -d -m /var/ftpuser/pub/squal ftpuser


只删除用户,不删除所属目录
userdel ftpuser

删除用户,并一起把所属目录删除(该指令很危险,删除了所属目录和所有文件,意味着 ftpuser 上传的文件都被删除了)
userdel –r ftpuser

查看用户所在的组和ID
id ftpuser

查看所有用户
cat /etc/passwd

更改用户的密码
sudo passwd ftpuser


0 条网友评论

哇~~~ 竟然还没有评论!

称呼*
邮箱*
内容*
验证码*
验证码 看不清换张