许久没有使用过ftp ,网盘普及的情况下,ftp就显得没有那么重要了
无意在腾讯云上动手实验室看到一篇安装ftp文章(centos7.2),就使用我的机器(centos7.6)测试了下,发现不能正常使用,实验文档应该是很久之前的,我也懒得去找原因了,现在自己手动安装一下,就当复习下
系统centos7.6(腾讯云公共镜像)
安全组:开放所有端口
网络acl:默认
image.png
- 安装--启动--测试vsftpd
腾讯云的公共镜像没有设置iptables相关规则不用管iptables,可以直接安装
[root@VM-16-16-centos etc]# yum install vsftpd -y
image.png
[root@VM-16-16-centos etc]# systemctl start vsftpd
[root@VM-16-16-centos etc]# netstat -nltp|grep vsftpd
tcp6 0 0 :::21 :::* LISTEN 20443/vsftpd
这台机器有外网,可以直接测试
生成一个文档 (注意这里的date 带有反引号:date
)
[root@VM-16-16-centos etc]# echo `date` > /var/ftp/ftptest.txt
[root@VM-16-16-centos etc]# cat /var/ftp/ftptest.txt
Tue Jan 26 16:02:39 CST 2021
在本地测试是否获取文件ftp://ip
测试正常进行下一步
2.禁止匿名登录(或者ftp),设置ftp专用目录 ,设置用户只允许在ftp目录
一般情况下,需要禁止匿名登录,这样就需要创建一个的ftp用户
设置专用目录目的在于所有用户都可以实现文件共享
添加ftp账号
[root@VM-16-16-centos etc]# useradd zhaoq
[root@VM-16-16-centos etc]# echo "ftptest" |passwd --stdin zhaoq
Changing password for user ftptest.
passwd: all authentication tokens updated successfully.
设置ftp专用目录
[root@VM-16-16-centos etc]# mkdir /data/ftptest -p
[root@VM-16-16-centos etc]# cd /data/ftptest/
[root@VM-16-16-centos ftptest]# ls
[root@VM-16-16-centos ftptest]# pwd
/data/ftptest
修改配置文件/etc/vsftpd/vsftpd.conf
anonymous_enable=NO
local_root=/data/ftpuser
chroot_local_user=YES
创建文件测试
[root@VM-16-16-centos ftptest]# cd /data/ftptest/
[root@VM-16-16-centos ftptest]# touch test
[root@VM-16-16-centos ftptest]# ls
test
[root@VM-16-16-centos ftptest]# systemctl restart vsftpd
浏览器测试ftp://ip
- 配置文件详解
更详细请参考:vsftp(FTP)服务器配置文件超详解说配置
https://wenku.baidu.com/view/cfde0e245901020207409c26.html
anonymous_enable=YES 允许匿名用户登录
local_enable=YES 允许系统用户名登录
write_enable=YES 允许使用任何可以修改文件系统的FTP的指令
local_umask=022 本地用户新增档案的权限
anon_upload_enable=YES 允许匿名用户上传文件
anon_mkdir_write_enable=YES 允许匿名用户创建新目录
dirmessage_enable=YES允许为目录配置显示信息,显示每个目录下面的message_file文件的内容
xferlog_enable=YES开启日记功能
connect_from_port_20=YES使用标准的20端口来连接ftp
chown_uploads=YES 所有匿名上传的文件的所属用户将会被更改成chown_username
chown_username=whoever 匿名上传文件所属用户名
xferlog_file=/var/log/vsftpd.log日志文件位置
xferlog_std_format=YES 使用标准格式
idle_session_timeout=600空闲连接超时
data_connection_timeout=120 数据传输超时
nopriv_user=ftpsecure 当服务器运行于最底层时使用的用户名
async_abor_enable=YES 允许使用"async ABOR"命令,一般不用,容易出问题
ascii_upload_enable=YES 管控是否可用ASCII 模式上传。默认值为NO
ascii_download_enable=YES管控是否可用ASCII 模式下载。默认值为NO
ftpd_banner=Welcome to blah FTP service. login时显示欢迎信息.如果设置了banner_file则此设置无效
deny_email_enable=YES 如果匿名用户需要密码,那么使用banned_email_file里面的电子邮件地址的用户不能登录
banned_email_file=/etc/vsftpd/banned_emails 禁止使用匿名用户登陆时作为密码的电子邮件地址
chroot_list_enable=YES如果启动这项功能,则所有列在chroot_list_file中的使用者不能更改根目录
chroot_list_file=/etc/vsftpd/chroot_list 定义不能更改用户主目录的文件
ls_recurse_enable=YES 是否能使用ls -R命令以防止浪费大量的服务器资源
listen=YES 绑定到listen_port指定的端口,既然都绑定了也就是每时都开着的,就是那个什么standalone模式
pam_service_name=vsftpd 定义PAM 所使用的名称,预设为vsftpd userlist_enable=YES 若启用此选项,userlist_deny选项才被启动 tcp_wrappers=YES 开启tcp_wrappers支持
local_root=/data/ftptest 设置ftp目录
网友评论