centos安装配置vsftp

一、安装vsftpd和ftp客户端
yum install vsftpd ftp -y
二、启动测试ftp
/etc/init.d/vsftpd start

本机登陆测试

[root@myblog ~]# ftp 127.0.0.1
Connected to 127.0.0.1 (127.0.0.1).
220 (vsFTPd 2.2.2)
Name (127.0.0.1:root):

如果要在别的电脑上访问,需要关闭selinux和iptables(或添加21号端口)

/etc/init.d/iptables stop   关闭防火墙
setenforce 0                设置selinux为警告

windows下登陆测试的情况

C:\Users\Mr.Wu>ftp 192.168.17.203
连接到 192.168.17.203220 (vsFTPd 2.2.2)
用户(192.168.17.203:(none)): anonymous
331 Please specify the password.
密码:
230 Login successful.
ftp>
三、允许匿名用户创建文件夹和上传文件参数

默认情况下的vsftpd的配置文件

[root@myblog ~]# grep -Ev "^$|#" /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES

在vsftpd.conf配置文件中添加如下代码

anon_upload_enable=YES
anon_mkdir_write_enable=YES

重启FTP服务

/etc/init.d/vsftpd reload

结果在创建文件夹的时候出现如下的问题

ftp> mkdir test
550 Create directory operation failed.
ftp>

解决办法:

chmod 757 /var/ftp/pub/

或者

chmod o+w /var/ftp/pub/

测试结果如下

ftp> mkdir test
257 "/pub/test" created
ftp> bye
221 Goodbye.
四、禁止用户在ftp模式下切换到/目录下

在ftp下面是可以直接使用真实用户来登陆的,为了安全是需要禁止其切换到/目录下

C:\Users\Mr.Wu\Desktop>ftp 192.168.17.203
连接到 192.168.17.203220 (vsFTPd 2.2.2)
用户(192.168.17.203:(none)): silence
331 Please specify the password.
密码:
230 Login successful.
ftp> dir
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Directory send OK.
ftp> cd /
250 Directory successfully changed.
ftp> ls
……省略……
226 Directory send OK.
ftp: 收到 133 字节,用时 0.00133.00千字节/秒。
ftp>

添加如下参数

chroot_local_user=YES
chroot_list_enable=NO

结果如下所示:

C:\Users\Mr.Wu>ftp 192.168.17.203
连接到 192.168.17.203220 (vsFTPd 2.2.2)
用户(192.168.17.203:(none)): test
331 Please specify the password.
密码:
230 Login successful.
ftp> pwd
257 "/"
ftp> ls
200 PORT command successful. Consider using PASV.
150 Here comes the directory listing.
226 Transfer done (but failed to open directory).
ftp>
五、禁止特定的真实用户登陆

在user_list里面添加你需要禁用的用户

vim /etc/vsftpd/user_list

在vsftpd.conf配置文件中添加如下代码

userlist_deny=YES
userlist_file=/etc/vsftpd/user_list

测试结果如下

C:\Users\Mr.Wu\Desktop>ftp 192.168.17.203
连接到 192.168.17.203。
220 (vsFTPd 2.2.2)
用户(192.168.17.203:(none)): silence
530 Permission denied.
登录失败。
ftp>
六、配置虚拟用户

其实使用真实用户来登陆ftp是非常不安全的一件事情,所以ftp还是采用虚拟用户好。
安装db4

yum install db4 -y

然后编辑虚拟用户和密码文件

vim /etc/vsftpd/login.txt

将txt生成db文件

db_load -T -t hash -f /etc/vsftpd/login.txt /etc/vsftpd/vsftpd_login.db
chmod 600 /etc/vsftpd/vsftp_login.db

编辑/etc/pam.d/vsftp

32位系统添加
auth required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
64位系统添加
auth required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
account required /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login

虚拟用户的宿主用户

useradd -d /var/ftp/file -s /sbin/nologin virftp

在vsftpd.conf配置文件中添加如下代码

guest_enable=YES
guest_username=virftp

重启ftp服务,测试结果如下

C:\Users\Mr.Wu\Desktop>ftp 192.168.17.203
连接到 192.168.17.203220 (vsFTPd 2.2.2)
用户(192.168.17.203:(none)): linux
331 Please specify the password.
密码:
230 Login successful.
ftp>
七、完成后的总配置
[root@myblog ~]# grep -Ev "^$|#" /etc/vsftpd/vsftpd.conf 
anonymous_enable=YES
local_enable=YES
write_enable=YES
local_umask=022
anon_upload_enable=YES
anon_mkdir_write_enable=YES
dirmessage_enable=YES
xferlog_enable=YES
connect_from_port_20=YES
xferlog_std_format=YES
chroot_local_user=YES
chroot_list_enable=NO
listen=YES
pam_service_name=vsftpd
userlist_enable=YES
tcp_wrappers=YES
userlist_deny=YES
userlist_file=/etc/vsftpd/user_list
guest_enable=YES
guest_username=virftp
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值