首页 > 代码库 > centos7部署vsftpd-3.02

centos7部署vsftpd-3.02

安装、查看

#yum  install vsftpd -y

#rpm -ql vsftpd

# vsftpd -v

#whereis vsftpd

启动

#systemctl start vsftpd

#systemctl enable vsftpd

防火墙和selinux的配置

selinux:

#sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config

#setenforce 0

firewalld防火墙:

#firewall-cmd --permanent --zone=public --add-service=ftp

#firewall-cmd --permanent --zone=public --add-ports=21/tcp

#firewall-cmd --permanent --zone=public --add-ports=22/tcp

#firewall-cmd --reload

创建用于ftp远程登录的本地用户和组

创建用户ftpcest和ftpcest1,两者同属于一个组ftpcest

#useradd ftpcest -s /sbin/nologin -d /databak  #这样就创建了用户和组ftpcest

#useradd ftpcest1 -s /sbin/nologin -d /databak -g ftpcest

#passwd ftpcest

#passwd ftpcest1

修改配置文件

# cat /etc/vsftpd/vsftpd.conf | grep -v "#"

anonymous_enable=NO

local_enable=YES

write_enable=YES

local_umask=002

dirmessage_enable=YES

xferlog_enable=YES

connect_from_port_20=YES

xferlog_file=/data/var/logs/vsftpd/xferlog

xferlog_std_format=YES

chroot_local_user=YES

listen=YES

 

pam_service_name=vsftpd

userlist_enable=NO

tcp_wrappers=YES

listen_port=2201

log_ftp_protocol=YES

dual_log_enable=YES

allow_writeable_chroot=YES

 

pasv_enable=YES

pasv_min_port=2202

pasv_max_port=2202

reverse_lookup_enable=NO

添加允许ftp远程访问的用户

# pwd

/etc/vsftpd

#ls

ftpusers     vsftpd_conf_migrate.sh  user_list    vsftpd.conf        

# cat user_list

# 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.

ftpcest

ftpcest1

重启vsftpd服务

#systemctl restart vsftpd

centos7:本机测试

# ftp localhost 2201

Trying ::1...

ftp: connect to address ::1拒绝连接

Trying 127.0.0.1...

Connected to localhost (127.0.0.1).

220 (vsFTPd 3.0.2)

Name (localhost:root): ftpcest

331 Please specify the password.

Password:

230 Login successful.

Remote system type is UNIX.

Using binary mode to transfer files.

ftp> ls

227 Entering Passive Mode (127,0,0,1,8,154).

150 Here comes the directory listing.

drwxrwxr-x    2 1003     1003            6 Apr 11 10:00 新文件夹

226 Directory send OK.

ftp> 

windows客户端测试

比如:ftp://192.168.0.10:2201

技术分享

 

参考网站和错误收集

技术分享

 vsftpd:500 OOPS: vsftpd: refusing to run with writable root inside chroot ()错误的解决方法


从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。

 要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:


allow_writeable_chroot=YES



其他情况:

与ssh一样,vsftp的配置文件默认开启了DNS反向解析,这可能会造成用户在登陆到FTP服务器的时候奇慢无比,只要在配置文件中禁用DNS反向解析即可解决文件。

编辑/etc/vsftpd/vsftpd.conf

添加

reverse_lookup_enable=NO

 

重启vsftpd服务后问题解决,现在登陆看看


本文出自 “走到室外的世界” 博客,谢绝转载!

centos7部署vsftpd-3.02