首先我们来说一下:
FTP 的服务端程序 -
vsftpd: Very Secure ftp Daemon(非常安全的 ftp 进程)
短小精悍,主要着眼点在于安全
proftpd: 专门做 ftp 的一个功能强大的软件
wu-ftpd: 最早的 ftp 服务器
pureftpd: Linux 上常用
windows上: Serv-u
Filezilla: 开源(既有win 又有 linux )
客户端 :
命令行模式: ftp ,lftp
图形 : gftpd , FlashFXP , Cuteftp , Filezilla
下面我们以红帽系列为例 :
红帽系列默认安装 vsftpd (支持主动模式 和 被动模式 ,二进制传输 和 文本传输)
如果是以 rpm 包格式安装的--
配置文件目录在 /etc/vsftpd
服务脚本 /etc/initd/vsftpd
二进制 /usr/sbin/vsftpd
支持虚拟用户(不是系统用户,放在另外一个文件或其它存储空间,仅仅用来标志获取当前服务的
用户凭证。
基于 PAM 实现用户认证(PAM (可插入式认证模块)是一个框架)
PAM 对用户的管理主要基于
/etc/pam.d/* /lib/security/* (如果是64位则是 /lib64/security)
好了下面就开始安装 vsftpd 了:
rpm -q vsftpd 查询是否已经安装
yum install vsftpd (yum 之前确保你的yum源已经配置好了 ,当然你也可以使用rpm 安装)
这样就成功了 ,怎样安装很简单吧。
下面查询安装后生成的文件 :
rpm -ql vsftpd
下面介绍一些安装完生成的文件 :
/etc/pam.d/vsftpd/vsftpd.log 基于pam的认证配置文件
配置文件:
主配置文件: /etc/vsftpd/vsftpd.conf
控制用户登录的文件:
/etc/vsftpd/ftpusers
/etc/vsftpd/user_list
主程序:/usr/sbin/vsftpd
ftp 服务根目录: /var/ftp
注意/var/ftp 这个目录本身是一定不允许除root用户的其它用户有写权限,
可通过在这个目录下创建子目录解决。
运行服务之前的一些操作:
关闭防火墙 和 SElinux
关闭防火墙:
service iptables status 查看防火墙
临时关闭 : service iptables stop
永久关闭 : chkconfig iptables off 或者在 /etc/sysconfig/system-config-firewall
中把iptables 的 enable 选项取消
关闭SElinux : getenforce 查看SElinux
临时关闭:setenforce 0
永久关闭:vi /etc/sysconfig/selinux
在里面改为 : SElinux=disabled 就行了
启动vsftpd 服务:service vsftpd start
设置开机自启动 :chkconfig vsftpd on
接下来就可以使用客户端进行访问了: (在访问前请确保 客户端 .服务器端 能相互 ping 通 )
在这里先介绍一下 ftp 用户,在 ftp 中一共有 3 种用户 :
匿名用户: -- > 系统用户
虚拟用户: -- > 系统用户
系统用户
无论是哪种用户 最终还是系统用户,它们最终都要映射为系统用户。
匿名用户被映射为 ftp 用户。
所以 匿名用户(anonymous) 登录后会来到自己的家目录,也即 /var/ftp
ftp 用户的家目录可以用finger查看(如果finger 没安装,自己用yum 安装)