FTP简介
FTP(FileTransferProtocol,文件传输合同)是TCP/IP合同组中的合同之一。FTP合同包括两个组成部份,其二为FTP服务器redhat搭建ftp服务器,其一为FTP顾客端。其中FTP服务器拿来储存文件,用户可以使用FTP顾客端通过FTP合同访问坐落FTP服务器上的资源。
FTP端口
默认情况下FTP合同使用TCP端口中的20和21这两个端口,其中20用于传输数据,21用于传输控制信息。并且,是否使用20作为传输数据的端口与FTP使用的传输模式有关,假若采用主动模式,这么数据传输端口就是20;假若采用被动模式,则具体最终使用那个端口要服务器端和顾客端协商决定。
FTP数据联接模式
ftp有2种数据联接模式:命令联接和数据联接。
命名联接:是指文件管理类命令,一直在线的持久性联接,直至用户退出登陆止;
数据联接:是指数据传输,按需创建及关掉的联接。
数据传输格式有以下两种:
文件传输
二补码传输
数据传输模式有两种:
主动模式:由服务器端创建数据联接
被动模式:由顾客端创建数据联接
两种数据传输模式的构建过程:
主动模式:命令联接——客户端以一个随机端口(随机端口小于1023)来连服务器端的21号端口;数据联接——服务器端以自己的20号端口去连顾客端创建命令联接时使用的随机端口+1的端标语进行联接。
被动模式:命令联接——客户端以一个随机端口(随机端口小于1023)来连服务器端的21号端口,服务端并告知客服端一个随机端口;数据联接——客户端以创建命令联接的端口+1的端标语去连服务器端通过命令联接告知自己的一个随机端标语来创建数据联接。
vsftpd常见的配置参数
搭建要求
安装vsftpd服务
配置匿名用户ftp
安装并配置完成后要使用ftp顾客端工具登入验证
搭建环境
本实验所用redhat7.0系统;
防火墙、selinux已关掉;
本实验所用地址如下:
相关文件:
主配置文件
/etc/vsftpd/vsftpd.conf
匿名用户的共享资源位置
/var/ftp/pub
搭建步骤
安装vsftpd
yum-yinstallvsftpd
启动vsftpd服务
systemctlstartvsftpd
匿名用户
配置匿名用户,借助匿名用户访问ftp
##在顾客端安装ftp命令,以匿名用户登入FTP,匿名帐号为anonymous,密码直接确认##
[root@client~]#yum-yinstallftp
##匿名用户默认开启,若没有开启则将NO改为YES##
anonymous_enable=YES
进行登陆测试
##登陆172.16.12.130ftp服务器,帐号为anonymous,密码直接确认##
[root@client~]#ftp172.16.12.131
Connectedto172.16.12.131(172.16.12.131).
220(vsFTPd3.0.2)
Name(172.16.12.131:root):anonymous
331Pleasespecifythepassword.
Password:
230Loginsuccessful.
RemotesystemtypeisUNIX.
Usingbinarymodetotransferfiles.
登陆以后查看当前匿名用户访问的目录
##登陆以后,ls可以看见,匿名用户访问的是pub目录##
ftp>ls
227EnteringPassiveMode(172,16,12,131,46,39).
150Herecomesthedirectorylisting.
drwxr-xr-x2006Aug032017pub
226DirectorysendOK.
ftp>
步入Pub目录创建文件提示没有权限
##步入pub目录redhat搭建ftp服务器,在ftp目录中创建目录linux运维面试题,目录没有权限创建##
ftp>mkdiraaa
550Permissiondenied.
ftp>
步入Pub目录想要创建文件必须更改配置
##要想在ftp目录中写,就必须更改配置,##
[root@client~]#vim/etc/vsftpd/vstpd.conf
找到这两行取消这注释,或则重新再写
anon_upload_enable=YES#容许匿名用户上传
anon_mkdir_write_enable=YES#容许匿名用户创建目录
添加一行
anon_other_write_enable=YES#容许匿名用户除创建和上传之外的权限,如删掉、重命名
:wq#保存退出
##由于匿名用户登入ftp所用的帐户是ftp用户,所以将/var/ftp/pub的属主和属组改为ftp##
chownftp.ftp/var/ftp/pub
重启服务
##重启vsftpd服务##
systemctlrestartvsftpd
再度在pub目录下创建目录即可写入
##再在/var/ftp/pub目录下创建目录linux服务器搭建,这时可以写##
ftp>mkdirtest
257"/pub/test"created
ftp>ls
227EnteringPassiveMode(172,16,12,131,53,244).
150Herecomesthedirectorylisting.
drwx------3145016Sep1300:03aaa
drwx------214506Sep1300:09test
226DirectorysendOK.
ftp>