ftp服务器的安装
1.查询是否安装ftp服务器
[root@localhost mail]# rpm -qa | grep vsftp
[root@localhost mail]# rpm -qa | grep ftp
2.使用yum安装ftp服务器
[root@localhost mail]# yum install vsftpd
2.1.查看依赖
[root@localhost mail]# yum install vsftpd
Loaded plugins: fastestmirror, langpacks
base | 3.6 kB 00:00
extras | 3.4 kB 00:00
updates | 3.4 kB 00:00
updates/7/x86_64/primary_db | 3.2 MB 00:02
Loading mirror speeds from cached hostfile
* base: centos.ustc.edu.cn
* extras: mirrors.aliyun.com
* updates: mirrors.btte.net
Resolving Dependencies
--> Running transaction check
---> Package vsftpd.x86_64 0:3.0.2-10.el7 will be installed
--> Finished Dependency Resolution
Dependencies Resolved
================================================================================
Package Arch Version Repository Size
================================================================================
Installing:
vsftpd x86_64 3.0.2-10.el7 base 167 k
Transaction Summary
================================================================================
Install 1 Package
2.2安装成功
Downloading packages:
vsftpd-3.0.2-10.el7.x86_64.rpm | 167 kB 00:00
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
Installing : vsftpd-3.0.2-10.el7.x86_64 1/1
Verifying : vsftpd-3.0.2-10.el7.x86_64 1/1
Installed:
vsftpd.x86_64 0:3.0.2-10.el7
3.查看vsftp安装位置
[root@localhost mail]# rpm -ql vsftpd.x86_64 0:3.0.2-10.el7
/etc/logrotate.d/vsftpd
/etc/pam.d/vsftpd
/etc/vsftpd
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
/etc/vsftpd/vsftpd.conf
/etc/vsftpd/vsftpd_conf_migrate.sh
/usr/lib/systemd/system-generators/vsftpd-generator
/usr/lib/systemd/system/vsftpd.service
/usr/lib/systemd/system/vsftpd.target
/usr/lib/systemd/system/vsftpd@.service
/usr/sbin/vsftpd
/usr/share/doc/vsftpd-3.0.2
/usr/share/doc/vsftpd-3.0.2/AUDIT
/usr/share/doc/vsftpd-3.0.2/BENCHMARKS
4.启动、停止、重启服务
[root@localhost mail]# service vsftpd start
Redirecting to /bin/systemctl start vsftpd.service
启动ftp命令#service vsftpd start
停止ftp命令#service vsftpd stop
重启ftp命令#service vsftpd restart
[root@localhost mail]# service vsftpd status
Redirecting to /bin/systemctl status vsftpd.service
5.创建用户组合用户
5.1创建用户
groupadd ftpgroup
useradd ftpuser -g ftpgroup -d /home/ftpuser -M #创建一个group为ftpgroup,home目录为/home/ftpuser,-M为系统不创建home目录,因为之前已经指定
usermod -s /usr/sbin/nologin ftpuser #将ftpuser设为不可作为普通用户登录
[root@localhost mail]# groupadd ftpgroup
[root@localhost mail]# useradd ftpuser -g ftpgroup -d /home/ftpuser
[root@localhost mail]# cd /
[root@localhost /]# ls
bin dev home lib64 mnt proc run srv tmp var
boot etc lib media opt root sbin sys usr
[root@localhost /]# cd home/
[root@localhost home]# ls
ftpuser svnuser
[root@localhost home]# usermod -s /usr/sbin/nologin ftpuser
5.2设置密码
[root@localhost vsftpd]# passwd ftpuser
Changing password for user ftpuser.
New password:
BAD PASSWORD: The password is shorter than 8 characters
Retype new password:
passwd: all authentication tokens updated successfully.
6.vsftpd的配置
[root@localhost home]# cd /etc/vsftpd/
[root@localhost vsftpd]# ls
ftpusers user_list vsftpd.conf vsftpd_conf_migrate.sh
ftp的配置文件主要有三个,位于/etc/vsftpd/目录下,分别是:
ftpusers 该文件用来指定那些用户不能访问ftp服务器。
user_list 该文件用来指示的默认账户在默认情况下也不能访问ftp
vsftpd.conf vsftpd的主配置文件
6.1下面说说里面比较重要的选项
anonymous_enable=NO #不允许匿名用户
local_enable=YES #允许使用本地用户账号登陆
write_enable=YES #允许ftp用户写数据
dirmessage_enable = YES #激活目录信息-消息时给远程用户
chown_uploads=YES #如果你想,你可以安排匿名上传文件归一个不同的用户。
connect_from_port_20=YES #通过20端口传输数据
idle_session_timeout = 600 #你可以改变默认值为一个空闲会话超时
data_connection_timeout = 120 #你可以改变一个数据连接超时的默认值
chroot_local_user=YES #将用户锁定在自己的主目录,如 /home/ftpuser,这样ftpuser这个用户就不能访问除此目录之外的目录
chroot_list_enable=YES #启用不锁定用户在主目录的名单
chroot_list_file=/etc/vsftpd.chroot_list #当 chroot_list_enable 启用时,此列表生效,列表中的用户将不受锁定限制,格式为一行一个用户名
local_root=/game/feng/lan #指定目录地址
7.查看ftp端口是否开启
[root@localhost vsftpd]# netstat -ntlp
8.防火墙放开ftp21和20端口
[root@localhost vsftpd]# iptables -A INPUT -p tcp --dport 21 -j ACCEPT
[root@localhost vsftpd]# iptables -A INPUT -p tcp --dport 20 -j ACCEPT
[root@localhost init.d]# service iptables save
iptables: Saving firewall rules to /etc/sysconfig/iptables:[ OK ]
9.window命令验证
如果不关闭window的防火墙,可以登陆但不能进行其他操作报425错误
关闭防火墙就可以了见下图
下面的简答比较全名
1,根据你的提示问题是比较简单的。首先在windows 命令符下,普通使用的是Port模式,所以客户机的防火墙挡住了一些高端端口的出口。在这种情况下,你开启Win7客户端防火墙,开放一些1025,到65500这些端口即可实现正常访问。其次,你可以使用FTP工具来下载,比如Filezilla,FlashFTp。这样的工具,他们会有被动模式直接开启的功能 。 2,你提示的下面的这个配置方式,如果要开启Linux防火墙,也要客户端能用被动模式能访问,还在添加如下的端口:这些端口根据你的配置中的设定来添加,下面的命令只是一个假定 iptables -t filter -I INPUT -p tcp --dport 21 -j ACCEPT iptables -t filter -I INPUT -p tcp --dport 65400:64100 -j ACCEPT service iptables save && service iptables restart. iptables -nL 这样用户就可以用被动模式来访问了。 PASV_enable=YES 开启被动模式 PASV_min_port=%number% 被动模式最低端口 PASV_max_port=%number% 被动模式最高端口