Linux下vsftp的安装和使用:Centos7
发布时间:2020-12-14 01:10:49 所属栏目:Linux 来源:网络整理
导读:一.准备工作。 为了调试顺利,关闭selinux,firewall和iptables。 根据个人需求,安装自己需要的程序。 #yum install gcc lrzsz vim wget 环境介绍: centos7.4 ip:192.168.1.238 client:Win10 二.vsftp科普。 Port模式(主动模式): 当客户端C向服务端S连接
一.准备工作。
为了调试顺利,关闭selinux,firewall和iptables。 根据个人需求,安装自己需要的程序。 #yum install gcc lrzsz vim wget 环境介绍: centos7.4 ip:192.168.1.238 client:Win10 二.vsftp科普。 Port模式(主动模式): 当客户端C向服务端S连接后,使用的是Port模式,那么客户端C会发送一条命令告诉服务端S(客户端C在本地打开了一个端口N在等着你进行数据连接),当服务端S收到这个Port命令后 就会向客户端打开的那个端口N进行连接,这种数据连接就生成了。 Pasv模式(被动模式): 当客户端C向服务端S连接后,服务端S会发信息给客户端C,这个信息是(服务端S在本地打开了一个端口M,你现在去连接我吧),当客户端C收到这个信息后,就可以向服务端S的M端口进行连接,连接成功后,数据连接也建立了。 三.开始安装。 1.yum安装vsftp yum -y install vsftpd 2.启动服务 systemctl start vsftpd.service 3.配置文件路径 /etc/vsftpd 四.虚拟用户功能 1.首先修改配置文件。 #cp vsftpd.conf vsftpd.conf.bak #备份配置文件。 #echo ‘’ > vsftpd.conf #清空配置文件。 #vim /etc/vsftpd/vsftpd.conf #编辑配置文件。 2。配置文件内容。(虚拟用户需要anonymous_enable=NO) ################################ anonymous_enable=NO write_enable=YES chroot_local_user=YES chroot_list_enable=YES use_localtime=YES local_enable=YES allow_writeable_chroot=YES xferlog_enable=YES local_umask=022 pam_service_name=vsftpd use_localtime=YES listen_port=21 chroot_local_user=YES idle_session_timeout=120 data_connection_timeout=120 guest_enable=YES guest_username=ftpuser user_config_dir=/etc/vsftpd/vuser_conf virtual_use_local_privs=YES pasv_min_port=10060 pasv_max_port=10090 accept_timeout=5 connect_timeout=1 ################################ :wq #退出并保存 3.创建vsftp的宿主用户 #useradd -g root -m -d /home/vsftpd -s /sbin/nologin ftpuser #创建用户 ftpuser 指定 /home/vsftpd 目录
#passwd ftpuser #设置用户 ftpuser 的密码 #chown -R ftpuser.root /home/vsftpd #把 /home/vsftpd 的所有权给ftpuser.root 4.建立虚拟用户文件 #touch /etc/vsftpd/vuser_passwd (虚拟用户名单,第一行为用户名,第二行为密码,不可用root为用户名)(如下图) #vim /etc/vsftpd/vuser_passwd :wq #退出并保存 5.生成虚拟用户数据文件 #db_load -T -t hash -f /etc/vsftpd/vuser_passwd /etc/vsftpd/vuser_passwd.db #chmod 600 /etc/vsftpd/vuser_passwd.db 6.创建用户配置 #mkdir /etc/vsftpd/vuser_conf # 建立虚拟用户个人vsftp的配置文件 #cd /etc/vsftpd/vuser_conf # 进入目录 #创建两个用户的文件touch ftp4 ftp5 每个文件(ftp4,ftp5)都写入如下内容 #local_root=/home/vsftpd/ftp4填写用户的真实路径 7.创建用户目录。 #mkdir -p /home/vsftpd/ftp4 #mkdir -p /home/vsftpd/ftp5 8.然后就可以启动服务了。 #systemctl start vsftpd #开启服务 #systemctl restart vsftpd #重启服务 #systemctl stop vsftpd #关闭服务 #systemctl status vsftpd #查看服务状态 9.生成虚拟用户的PAM文件。 #cd /etc/pam.d #先进入存放PAM文件的目录。 #cp vsftpd vsftpd.bak #先备份vsftpd这个文件。 修改vsftpd文件内容(加入第二和第三行,下面的都全部注释,注意下面是64位操作系统,如果是32位的话lib64需要改成lib) 10.需要给虚拟用户加上权限。 #chmod -R 777 /home/vsftpd #递归给没个虚拟用户权限。 11.更改完配置,需要重启vsftpd服务。 #systemctl restart vsftpd #systemctl stop firewalld #关闭防火墙 #setenforce 0 #关闭selinux 12.然后进入Windows下的cmd试着连接一下。 显示远程主机关闭连接。 13.接下来让我们改一下配置文件就OK了,如下图: 把这三行信息注释掉,然后我们重启服务。 再次cmd进行连接。 连接成功! 14.有需要的小伙伴可以把端口改一下。 在/etc/vsftpd/vsftpd.conf文件中添加如下内容。 端口修改为2121 在/etc/services文件中修改如下内容。 15.然后重启一下服务就可以啦! 16.让我们用ftp工具试验一下。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |