Centos7安装vsftpd (FTP服务器)
一、通过yum安装vsftpd
yum install -y vsftpd
二、修改vsftpd的配置文件
vi /etc/vsftpd/vsftpd.conf
修改配置文件如下:
1.不允许匿名访问
anonymous_enable=NO
2.允许使用本地帐户进行FTP用户登录验证
local_enable=YES
3.使用户不能离开主目录
当chroot_list_enable=YES,chroot_local_user=YES时,在/etc/vsftpd.chroot_list文件中列出的用户,可以切换到其他目录;未在文件中列出的用户,不能切换到其他目录。
chroot_local_user=YES chroot_list_enable=YES chroot_list_file=/etc/vsftpd/chroot_list
配置文件最后添加(centos6.5忽略)
allow_writeable_chroot=YES
要不然会报错
500 OOPS: vsftpd: refusing to run with writable root inside chroot()
如果/etc/vsftpd/chroot_list
不存在,则需要创建该文件
vi /etc/vsftpd/chroot_list
:wq
直接保存并退出就行。
4.设定支持ASCII模式的上传和下载功能(此项忽略)
ascii_upload_enable=YES
ascii_download_enable=YES
最后 :wq
保存修改,重启vsftpd
systemctl restart vsftpd centos7+执行这个
service vsftpd restart centos6+执行这个
三、新建FTP用户
useradd -d /var/ftp/public_root -g ftp -s /sbin/nologin ftpuser 修改该FTP用户密码(统一设成******) passwd ftpuser
FTP访问测试
def ftp_test(): host = 'quanfa.wang' username = '*****' password = '*****' f = ftplib.FTP(host) f.set_pasv(False) f.login(username, password) remote_file = f.nlst()[0] local_file = remote_file buffsize = 1024 fp = open(local_file, 'wb') f.retrbinary('RETR %s' % remote_file, fp.write, buffsize) fp.close() print 'complete!' if __name__ == '__main__': ftp_test()