linux具有极大的网络稳定性,这是我要选择它进行搭建ftp的原因,同时也是最近在学习linux,想要练练手。
看了好多网上的教程,发现没有一篇是能够从头到尾完全傻瓜式的教程,所以在我成功搭建后,想跟大家分享我的思路以及搭建步骤。
首先,查看本机有没有安装过vsftpd:
rpm -qa|grep vsftpd
没有提示的话,表示没有安装过,安装过就跳过安装步骤
安装步骤:用yum进行安装:
yum install vsftpd
安装完之后就可以启动服务了:
systemctl start vsftpd.service
由于要进行网络之间的通信,别人要访问你的服务器,那就要开放相应的端口了:
firewall-cmd --add-service=ftp -permanent(添加开放服务的端口)
fire-wall --reload(重启防火墙)
/etc/vsftpd下的文件解释:
user_list (用户白名单)
ftpusers(用户黑名单)
chroot_list(是否能访问主目录外的用户名单)
vsftpd.conf(配置文件)
最重要的是配置文件的配置:
anonymous_enable=NO #关闭匿名登录
local_enable=YES #允许本地用户登录
write_enable=YES #是否允许登陆用户有写权限。属于全局设置,默认值为YES。local_umask=022 #本地用户新增档案时的umask 值。默认值为077
dirmessage_enable=YES #如果启动这个选项,那么使用者第一次进入一个目录时,会检查该目录下是否有.message这个档案,如果有,则会出现此档案的内容,通常这个档案会放置欢迎话语,或是对该目录的说明。默认值为开启。
xferlog_enable=YES #是否启用上传/下载日志记录。如果启用,则上传与下载的信息将被完整纪录在xferlog_file 所定义的档案中。预设为开启。
xferlog_file=/var/log/xferlog #日志目录
connect_from_port_20=YES #指定FTP使用20端口进行数据传输,默认值为YES。
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=YES#yes, chroot_list为能访问主目录外的文件的用户
chroot_list_file=/etc/vsftpd/chroot_list
listen=NO
listen_ipv6=YES
pam_service_name=vsftpd
userlist_enable=YES #启动用户白名单
userlist_deny=NO
tcp_wrappers=YES
userlist_file=/etc/vsftpd/user_list #用户白名单目录
allow_writeable_chroot=YES
接下来就要分配虚拟用户和文件目录了:
useradd -d /var/ftp/jun/blog -g ftp -s /sbin/nologin blog
-d 后面接文件目录
-g 是用户组
后面blog是用户名
新建用户后还得设置密码才能登录
Passwd blog
Passwd后接用户名
设置用户完后得设置用户目录的权限
Chmod 777 /var/ftp/jun/blog
然后把新建的用户添加进/etc/vsftpd/user_list(用户白名单)
Vim /etc/vsftpd/user_list
换行添加blog
重启服务器:
Systemctl restart vsftpd.service
登录测试:
成功