阿里云centos6安装配置 vsftpd 服务器

作者:袖梨 2022-06-30

1、更新yum源

我是直接 yum update 更新的

2、安装vsftp

使用yum命令安装vsftpd

#yum install vsftpd -y
3、添加ftp帐号和目录

先检查一下nologin的位置,通常在/usr/sbin/nologin或者/sbin/nologin下。

使用下面的命令创建帐户,该命令指定了/www/wwwroot为用户pwftp的家目录,您可以自己定义帐户名和目录:

#useradd -d /www/wwwroot -s /sbin/nologin pwftp
修改该帐户密码:

#passwd pwftp
修改指定目录的权限

#chown -R pwftp:pwftp /www/wwwroot
这里直接这么操作要报错,要在执行这一条命令之前做如下操作:

mkdir www
cd www
mkdir wwwroot
4、配置vsftp

编辑vsftpd配置文件,命令如下:

#vi /etc/vsftpd/vsftpd.conf
将配置文件中 “anonymous_enable=YES ” 改为 “anonymous_enable=NO”

取消如下配置前的注释符号:

local_enable=YES
write_enable=YES
chroot_local_user=YES

保存修改,按ESC键,输入:wq

5、修改shell配置

vi编辑/etc/shells,如果该文件里没有/usr/sbin/nologin或者/sbin/nologin(具体看当前系统配置)则追加进去

6、启动vsftp服务并测试登录

使用命令启动vsftpd服务:

#service vsftpd start
然后用帐号 pwftp 测试下是否可以登陆 ftp。目录是/www/wwwroot。


补充:需求及配置

1. 不允许匿名访问

anonymous_enable=NO

2. 使用本地帐户进行FTP用户登录验证

2.1 允许使用本地帐户进行FTP用户登录验证

local_enable=YES
2.2 创建用于FTP登录的本地帐户

增加用户ftpuser,主目录为/home/ftp,禁止登录SSH权限。

useradd -d /home/ftp -g ftp -s /sbin/nologin ftpuser -p password
该命令参考自:CentOS 6.2 ftp 配置。

useradd命令参考文档:Linux的useradd

2.3 只允许刚创建的ftpuser登录FTP

vi /etc/vsftpd/vsftpd.conf

userlist_enable=YES
userlist_deny=NO
vi /etc/vsftpd/user_list

注释所有帐户,添加ftpuser


# vsftpd userlist
# If userlist_deny=NO, only allow users in this file
# If userlist_deny=YES (default), never allow users in this file, and
# do not even prompt for a password.
# Note that the default vsftpd pam config also checks /etc/vsftpd/ftpusers
# for users that are denied.
#root
#bin
#daemon
#adm
#lp
#sync
#shutdown
#halt
#mail
#news
#uucp
#operator
#games
#nobody
ftpuser
复制代码
配置到这里,就可以远程用FTP客户端登录并上传文件,文件会保存在ftpuser的主目录,也就是/home/ftp。

3. 不允许FTP下载

vi /etc/vsftpd/vsftpd.conf

download_enable=NO
4. 只允许指定的IP才能连接

4.1 安装tcp_wrappers

yum -y install tcp_wrappers
4.2 检查tcp_wrappers是否被设置为YES

vi /etc/vsftpd/vsftpd.conf

tcp_wrappers=YES
4.3 添回允许的IP

vi /etc/hosts.allow

vsftpd:允许的IP地址
4.4 拒绝所有其他的IP

vi /etc/hosts.deny

vsftpd:ALL

在这里我直接用客户端软件FileZilla Client登录,经测试,完全正确

相关文章

精彩推荐