FTP服务搭建

一,FTP搭建准备

  1.1 准备一台虚拟机作为ftp的server端,指定一个目录是共享目录,客户端连接到服务器可以直接在共享目录中进行下载和上传

  服务端要安装vsftpd命令,客户端要安装ftp命令,客户端使用ftp命令来进行登陆的

  1.2 FTP三种用户类型

   (1)匿名用户

         共享的文件为/var/ftp/pub目录,并且这个目录要把他的属主改为ftp

         安装完vsftpd自然就有/etc/vsftpd/vsftpd.conf:ftp配置文件

1  27 anon_upload_enable=YES     #开启匿名用户上传权限
2  28  anon_umask=022            #手动添加匿名用户的其他写入权限
3  32  anon_mkdir_write_enable=YES         #开启匿名用户新建目录的权限
4  33   anon_other_write_enable=YES        #手动添加匿名用户的其他写入权限(删除重命名)

    (2).本地用户

        共享的目录为账号自己的家目录

1 22   local_umask=077     修改本地用户默认权限掩码为077
2 96   chroot_local_user=YES    开启本地用户的家目录锁定

    因为是ftp本地用户服务所以需要先创建一个普通用户和密码用客户端ftp登陆服务端输入yunjisuan账号和密码

1 useradd yunjisuan
2 passwd yunjisuan

    (3) 虚拟用户

    先查看系统是否有db_load命令,没有则需要安装ftp虚拟用户首先需要在/etc/vsftpd下创建密码文件

    创建完密码文件需要弄db_load命令转换成数据文件,-T允许非程序使用该数据库 -t指定算法 hash -f代表加密,因为是密码,为了增加安全性需要给chmod 600 vusers.db权限

    首先创建虚拟映射账号,因为指定了家目录所以给手动创建一个家目录并赋上755权限

    手动建立此pam认证文件

    修改配置文件

    配置完重启服务,就可以用客户端进行ftp登陆,因为是指定创建的家目录,所以需要去/var/ftproot创建文件

    ftp客户端登陆服务端,输入手动创建的虚拟账号密码,就可以看到刚才在服务端家目录创建的文件

    用第二个账号登陆,也可以看到指定的服务端家目录文件

    为了实现每个虚拟用户不同根目录,不同权限的管控,首先在/etc/vsftpd创建mkdir /vusers.dir目录,创建完进入目录touch 虚拟账号里的名字

    vim手动打开/etc/vsftpd/vusers.dir/虚拟账号名

    配置完手动mkdir -p /var/虚拟账号名,chown virtual /var/虚拟账号名:把账号属主换成virtual有读写权限

    最后需要在/etc/vsftpd/vsftpd.conf手动填写123行内容

    在客户端ftp登陆虚拟用户,文件正好是在服务端配置文件目录创建的文件