一,FTP 可以做什么?
1,自己的电脑通过FTP客户端和互联网能连接到世界各地的FTP服务器,实现文件共享及资源共享。
2,别人也可以通过互联网访问你电脑上面搭建的FTP服务器,使你的信息资料能够传播到世界各地。
3,不同类型、不同系统、不同格式的电脑之间能够互换文件
二,FTP用户
不同等级的使用者身份,三种主要的身份
real user
guest
anonymous (匿名用户)
限制或解除用户活动目录
chroot(change root)
FTP用户的类型
匿名用户:anonymous或ftp
本地用户:
帐号名称、密码等信息保存在passwd、shadow文件中
三,FTP连接方式
控制连接:标准端口为21,用于发送FTP命令信息
数据连接:标准端口为20,用于上传、下载数据
数据连接的建立类型:
主动模式:服务端从20端口主动向客户端发起连接
被动模式:服务端在指定范围内的某个端口被动等待客户端发起连接
四,vsftpd软件包
vsftpd最初发展的理念就是在建构一个以安全为重的FTP 服务器.
(安装在服务器端)
主程序:/usr/sbin/vsftpd
服务名:vsftpd
主配置文件:/etc/vsftpd.conf
用户控制列表文件 :
/etc/vsftpd/ftpusers 禁止登录的FTP用户列表
/etc/vsftpd/user_list 仅提供一份FTP用户列表,是否禁止登录取决于主配置 文件中的设置
五,分析主配置文件vsftpd.conf
常用的全局配置项
listen=YES:是否以独立运行的方式监听服务
listen_address=192.168.4.1:设置监听的IP地址
listen_port=21:设置监听FTP服务的端口号
write_enable=YES:是否启用写入权限
download_enable=YES:是否允许下载文件
userlist_enable=YES:是否启用user_list列表文件
userlist_deny=YES:是否禁用user_list中的用户
max_clients=0:限制并发客户端连接数
max_per_ip=0:限制同一IP地址的并发连接数
常用的匿名FTP配置项
anonymous_enable=YES:启用匿名访问
anon_umask=022:匿名用户所上传文件的权限掩码
anon_root=/var/ftp:匿名用户的FTP根目录
anon_upload_enable=YES:允许上传文件
anon_mkdir_write_enable=YES:允许创建目录
anon_other_write_enable=YES:开放其他写入权 (若想删除上传的文件需要添加这个)
anon_max_rate=0:限制最大传输速率,单位为字节
常用的本地用户FTP配置项
local_enable=YES:是否启用本地系统用户
local_umask=022:本地用户所上传文件的权限掩码
local_root=/var/ftp:设置本地用户的FTP根目录
chroot_local_user=YES:是否将用户禁锢在主目录
local_max_rate=0:限制最大传输速率(字节/秒)
六,配置一台FTP服务器并在Linux和window上验证 (关闭防火墙)
服务器配置
1,在服务器上安装vsftpd.conf。
yum install -y vsftpd.conf
2,调整上传目录的属主或者权限
确保匿名用户ftp有权写入文件
chown ftp /var/ftp/pub
3,修改vsftpd.conf主配置文件(按需要配置,本次按照一般配置)
dirmessage_enable=YES 登陆的时候显示信息
xferlog_enble=YES 记录日志文件
xferlog_file=/var/log/xferlog 日志文件位置
xferlog_std_format=YES 用标准的格式去记录日志
这三行不建议修改。
chroot_local_user=YES 将系统本地用户锁在家目录下,如果将#去掉,那么就可以切换到了根目录下。这里将家目录映射为根目录
最后两行是允许部分人切换根目录,配置文件在/etc/vsftpd/dhroot_list中,添加进去的用户,不可以切换根目录
4,在/var/ftp下创建一个新的目录test,并且赋给它777的权限。
(此处就是将匿名登陆时候的上传目录换成了test,因为在ftp登陆进去的时候,不能在pub下上传文件。)
5,重启vsftpd服务。
service vsftpd restart
客户端配置
1,安装ftp。
yum install -y ftp
2,ftp 服务器ip地址(密码为空)
3,ftp的部分操作。(上传一个文件)
在服务器端查看
4,在window端查看
至此ftp服务器的简单搭建已经完成。
七,补充部分知识点
dirmessage_enable=YES 要想在进入test的时候显示信息。就要在test目录下新建文件.message
然后vim .message输入你想要输入的内容即可