ftp服务
一、ftp概述
其实通俗的说FTP是一种数据传输协议,负责将我们电脑上的数据与服务器数据进行交换,比如我们要将在我们电脑中制作的网站程序传到服务器上就需要使用FTP工具,将数据从电脑传送到服务器。专业的说,FTP(全称:File Transfer Protocol)是TCP/IP网络上两台计算机传送文件的协议,FTP是在TCP/IP网络和INTERNET上最早使用的协议之一,它属于网络协议组的应用层。FTP客户机可以给服务器发出命令来下载文件,上载文件,创建或改变服务器上的目录,一般我们均是将我们电脑中的内容与服务器数据进行性传输。其实电脑与服务器是一样的,只是服务器上安装的是服务器系统,并且服务器稳定性与质量要求高些,因为服务器一般放在诸如电信等机房中,24小时都开机,这样我们才可以一直访问服务器中的相关信息。
二、ftp常用命令
2.1 连接ftp服务器格式
ftp [hostname| ip-address]
a)在linux命令行下输入:ftp 192.168.1.1
b)服务器询问你用户名和密码,分别输入用户名和相应密码,待认证通过即可。
2.2 下载文件
下载文件通常用get和mget这两条命令。
a) get
格式:get [remote-file] [local-file]
将文件从远端主机中传送至本地主机中。
如要获取远程服务器上/usr/your/1.htm,则
ftp> get /usr/your/1.htm 1.htm (回车)
b) mget
格式:mget [remote-files]
从远端主机接收一批文件至本地主机。
如要获取服务器上/usr/your/下的所有文件,则
ftp> cd /usr/your/
ftp> mget *.* (回车)
此时每下载一个文件,都会有提示。如果要除掉提示,则在mget . 命令前先执行:prompt off
注意:文件都下载到了linux主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则文件都下载到了/usr/my下。
2.3 上传文件
a) put
格式:put local-file [remote-file]
将本地一个文件传送至远端主机中。
如要把本地的1.htm传送到远端主机/usr/your,并改名为2.htm
ftp> put 1.htm /usr/your/2.htm (回车)
b) mput
格式:mput local-files
将本地主机中一批文件传送至远端主机。
如要把本地当前目录下所有html文件上传到服务器/usr/your/ 下
ftp> cd /usr/your (回车)
ftp> mput *.htm (回车)
注意:上传文件都来自于主机的当前目录下。比如,在 /usr/my下运行的ftp命令,则只有在/usr/my下的文件linux才会上传到服务器/usr/your 下。
3.4 断开连接
bye:中断与服务器的连接。
ftp> bye (回车)
三、实验
配置网络,使得linux服务器(192.168.200.100)和wn10客户机(192.168.200.30)在同一网段互联互通
3.1 配置匿名登陆ftp
1.安装ftp软件包
2.关闭防火墙和核心防护,启动服务
3.win10匿名登录
4.下载文件
5.上传文件
解决而办法
上传下载必须在ftp子目录下进行,改成777不管什么用户都登录不上去,放到最大系统默认会提供保护
远程删除服务器上的文件
3.2 本地用户登陆ftp
1.创建账户
2.ftp远程登录zhangsan账户
3.禁锢zhangsan只能在自己的家目录中
当我们限定了用户不能跳出其主目录之后,使用该用户登录FTP时往往会遇到这个错误:
从2.3.5之后,vsftpd增强了安全检查,如果用户被限定在了其主目录下,则该用户的主目录不能再具有写权限了!如果检查发现还有写权限,就会报该错误。
要修复这个错误,可以用命令chmod a-w /home/user去除用户主目录的写权限,注意把目录替换成你自己的。或者你可以在vsftpd的配置文件中增加下列两项中的一项:
allow_writeable_chroot=YES
4.设置登录权限
前提是开启了配置文件里面的这个,直接控制是否运用用户列表
当仅允许列表里面的访问
删除userlist_deny=NO,一般都是用默认
3.3 建立虚拟用户登陆ftp
1.建立虚拟用户,按照格式写账号密码,奇行账号偶数行密码
2.将vuser文件转换成数据库文件
3.由于文件里面存放账户密码,要修改权限600,为了安全起见,只管理员可见,其他用户无法访问
4.创建一个用户为vuser指定家目录/opt/vuser 并不使用shell登录
5.编辑pam认证模块支持虚拟用户登录,认证数据库文件!
6.编辑配置文件
7.进行登录
8.设置权限