linux cent os 7.2版本操作:
检查ftp服务是否已存在rpm -qa | grep vsftpd
安装ftp服务yum install vsftpd
启动ftp服务systemctl start vsftpd.service
查看ftp服务状态systemctl status vsftpd.service
配置ftp服务
vi /etc/vsftpd/vsftpd.comf
用户登录控制
anonymous_enable=YES,允许匿名用户登录。
no_anon_password=YES,匿名用户登录时不需要输入密码。
local_enable=YES,允许本地用户登录。
deny_email_enable=YES,可以创建一个文件保存某些匿名电子邮件的黑名单,以防止这些人使用Dos攻击。
banned_email_file=/etc/vsftpd/banned_emails,保存电子邮件黑名单的目录(默认)
用户权限控制:
write_enable=YES,开启全局上传
local_umask=022,本地文件上传的umask设置为022,系统默认。
anon_upload_enable=YES,允许匿名用户上传,当然要在write_enable=YES的情况下。同时必须建立一个允许ftp用户读写的目录。
anon_mkdir_write_enable=YES,允许匿名用花创建目录
chown_uploads=YES,匿名用户上传的文件属主转换为别的用户,一般建议为root。
chown_username=whoever,改此处的whoever为要转换的属主,建议root
chroot_list_enable=YES,用一个列表来限定哪些用户只能在自己目录下活动。
chroot_list_enable=/etc/vsftpd/chroot_list,指定用户列表文件
nopriv_user=ftpsecure,指定一个安全账户,让ftp完全隔离和没有特权的账户
用户连接和超时设置:
idle_session_timeout=600,默认的超时时间
data_connection_timeout=120,设置默认数据连接的超时时间
其他的建议不要配置。
如果设置为匿名登陆的话。
ftp 127.0.0.1
输入ftp或者anonymous之后回车即可
如果设置为用户名密码登录
则需输入用户名密码登录
下面是一个python小程序,用来跑一下ftp服务器的用户名密码
import ftplib def anonlogin(hostname, filename): f = open(filename, 'r') for line in f.readlines(): username=line.split(':')[0] password=line.split(':')[1] print 'try ' + username + '/' + password try: ftp = ftplib.FTP(hostname) ftp.login(username, password) print str(hostname) + 'ftp anonymous can login succeed' print '[+]' + str(username) + ' ' + str(password) break ftp.quit() except: pass def main(): host = '127.0.0.1' anonlogin(host, 'pass.txt') if __name__=='__main__': main()