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()[]
local_file = remote_file
buffsize =
fp = open(local_file, 'wb')
f.retrbinary('RETR %s' % remote_file, fp.write, buffsize)
fp.close()
print 'complete!' if __name__ == '__main__':
ftp_test()