FTP

Posted fengdou

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了FTP相关的知识,希望对你有一定的参考价值。

搭建匿名访问的FTP服务

1,安装FTP服务软件

 
  1. [[email protected] ~]# mount /dev/sr0 /media/cdrom/
  2. mount: block device /dev/sr0 is write-protected, mounting read-only
  3. [[email protected] ~]# yum -y install vsftpd //ftp服务软件包

2,准备匿名FTP访问目录 
FTP其实就是在server端创建一个共享目录,client端连过来就可以从这个目录下载或上传数据

 
  1. [[email protected] ~]# cd /var/ftp/ //yum安装的FTP默认就有ftp目录,没有的话需要创建
  2. [[email protected] ftp]# ls
  3. pub //FTP下的pub目录就是共享目录
  4. [[email protected] ftp]# ll
  5. total 4
  6. drwxr-xr-x. 2 root root 4096 Mar 1 2013 pub //因为需要程序用户往里写数据,所以必须把属主改成ftp这个程序用户
  7. [[email protected] ftp]# id ftp
  8. uid=14(ftp) gid=50(ftp) groups=50(ftp) //ftp这个程序用户默认有
  9. [[email protected] ftp]# chown ftp pub/ // 改目录的属主

3,开放匿名用户配置并启动vsftpd服务 
技术分享图片
打开配置文件 
技术分享图片

技术分享图片 
匿名配置文件就好了,开启服务

 
  1. [[email protected] vsftpd]# /etc/init.d/vsftpd start
  2. Starting vsftpd for vsftpd: [ OK ]
  3. [[email protected] vsftpd]# ss -antup | grep vsftpd //开启服务需要过滤一下端口,有的时候显示开了,其实没开
  4. tcp LISTEN 0 32 *:21 *:* users:(("vsftpd",1081,3))

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

ftp的命令和Linux里的命令不一样需要自己看用help命令看

 

搭建本地用户验证的 FTP 服务

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片 
服务器端关闭Linux的selinux防火墙配 
setenforce 0 表示关闭selinux防火墙

 

匿名用户的FTP

技术分享图片
1,建立虚拟用户账号数据库 
vsftpd 服务使用 Berkeley DB 格式的数据库文件来存放虚拟用户账号,使用 db_load 工具生成数据库文件。(若未安装,安装包在安装光盘 1 中,软件名为 db4-utils) 
技术分享图片

技术分享图片

技术分享图片

技术分享图片

注:db_load 命令 
-T:允许非 Berkeley 的程序使用该数据库 
-t:指定算法 (hash:哈希,散列) 
-f:指定源文件 
注意:生成的数据库文件必须为“.db”格式 
技术分享图片

2,添加虚拟映射账号,为FTP根目录修改权限

 
  1. [[email protected] vsftpd]# useradd -d /var/ftproot/ -s /sbin/nologin virtual //这是映射账号,所有虚拟账号链接过来都会成为这个账号,指定家目录
  2. [[email protected] vsftpd]# ll -d /var/ftproot/
  3. drwx------. 2 virtual virtual 4096 Nov 4 18:47 /var/ftproot/
  4. [[email protected] vsftpd]# chmod 755 /var/ftproot/ // 把家目录的权限修改了
  5. [[email protected] vsftpd]# ll -d /var/ftproot/
  6. drwxr-xr-x. 2 virtual virtual 4096 Nov 4 18:47 /var/ftproot/
  7. [[email protected] vsftpd]#

3,添加PAM认证 
技术分享图片

技术分享图片

4,修改vsftp.conf配置文件,重启服务

技术分享图片

技术分享图片

技术分享图片

技术分享图片

技术分享图片 
5,实现每个虚拟用户不同根目录、不同权限的管控 
(1)创建用户控制目录,并创建虚拟所对应的同名配置文件 
技术分享图片 
修改 zhangsan 的配置文件,使其可以上传、建立目录、删除文件、重命名文件、最大传输速率 1 字节/秒、根目录为/var/zhangsan 

技术分享图片

技术分享图片

技术分享图片

技术分享图片 
修改 lisi 的配置文件,使其仅可以下载上传,不开放其他权限,不限制传输速率,根目录为/var/lisi 
技术分享图片

技术分享图片 
技术分享图片 

wangwu 的配置文件不做修改,其权限为配置文件中的默认权限,根目录为/var/ftproot,仅可以下载,无法上传。

(2)修改 vsftpd.conf 主配置文件,重启服务 
技术分享图片 
技术分享图片

技术分享图片 
(3)客户端测试 
技术分享图片

技术分享图片


技术分享图片





























以上是关于FTP的主要内容,如果未能解决你的问题,请参考以下文章

七个办法只有一个有效:200 PORT command successful. Consider using PASV.425 Failed to establish connection.(代码片段

Maven FTP部署:无法创建目录

FTP传大文件又慢又麻烦,有没有更好的替代传输方案?

微信小程序代码片段

VSCode自定义代码片段——CSS选择器

谷歌浏览器调试jsp 引入代码片段,如何调试代码片段中的js