美文网首页linux运维
FTP安装与配置

FTP安装与配置

作者: awsome365 | 来源:发表于2018-12-05 09:21 被阅读0次

    12月10、11日任务
    15.1 FTP介绍
    15.2/15.3 使用vsftpd搭建ftp
    15.4 xshell使用xftp传输文件
    15.5 使用pure-ftpd搭建ftp服务

    15.1 FTP介绍

    FTP是File Transfer Protocol(文件传输协议,简称文传协议)的英文简称,用于在Internet上控制文件的双向传输。FTP的主要作用就是让用户连接一个远程计算机(这些计算机上运行着FTP服务器程序),并查看远程计算机中的文件,然后把文件从远程计算机复制到本地计算机,或把本地计算机的文件传送到远程计算机。

    小公司用的多,大企业不用FTP,因为不安全。许多大企业用自动化发布工具,比如git。

    15.2/15.3 使用vsftpd搭建ftp

    centos上自带vsftpd,如果没有使用yum install -y vsftpd安装。

    vsftpd可以使用系统用户操作,但是为了安全,为ftp设置虚拟用户,将虚拟用户映射成系统用户。首先创建一个系统用户,用来之后虚拟用户映射。useradd -s /sbin/nologin virftp。然后就编辑虚拟用户密码文件,vim /etc/vsftpd/vsftpd_login,奇数行为用户名,偶数行为密码,多个用户就写多行。我在密码文件中添加了一个虚拟用户:

    testuser1
    alinux
    

    保存后修改文件权限:chmod 600 /etc/vsftpd/vsftpd_login。生成二进制文件:db_load -T -t hash -f /etc/vsftpd/vsftpd_login /etc/vsftpd/vsftpd_login.db

    然后生成虚拟用户的配置文件:mkdir /etc/vsftpd/vsftpd_user_conf,进入配置文件目录cd /etc/vsftpd/vsftpd_user_conf。配置文件的名称要和虚拟用户的名字一致。这里我们根据上面添加,vim testuser1,加入如下内容

    local_root=/home/virftp/testuser1
    anonymous_enable=NO
    write_enable=YES
    local_umask=022
    anon_upload_enable=NO
    anon_mkdir_write_enable=NO
    idle_session_timeout=600
    data_connection_timeout=120
    max_clients=10
    

    然后创建共享目录:mkdir /home/virftp/testuser1,随便创建一个文件:touch /home/virftp/testuser1/aming.txt。更改共享目录的属主:chown -R virftp:virftp /home/virftp

    定义密码文件路径:vim /etc/pam.d/vsftpd,在最前面加上:

    auth sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    account sufficient /lib64/security/pam_userdb.so db=/etc/vsftpd/vsftpd_login
    

    最后配置vsftpd的主配置文件:vim /etc/vsftpd/vsftpd.conf
    将anonymous_enable=YES 改为 anonymous_enable=NO,将#anon_upload_enable=YES 改为 anon_upload_enable=NO,将#anon_mkdir_write_enable=YES 改为 anon_mkdir_write_enable=NO。再增加如下内容

    chroot_local_user=YES
    guest_enable=YES
    guest_username=virftp
    virtual_use_local_privs=YES
    user_config_dir=/etc/vsftpd/vsftpd_user_conf
    allow_writeable_chroot=YES
    

    systemctl start vsftpd,启动vsftpd服务。netstat -lntp 查看21端口是否开启。

    测试ftp服务就需要安装ftp客户端,图形软件推荐filezilla,linux上命令行软件有lftp。yum install -y lftp。使用lftp ftpuser1@127.0.0.1登录服务端,注意用户名和服务端ip。执行命令ls,看是否正常输出。若不正常查看日志/var/log/messages和/var/log/secure。lftp下输入问号查看命令提示,常用的有put、get等。

    windows下安装filezilla客户端软件,进行测试。注意filezilla有server、client版本,不要安装错。另外,许多linux管理员在windows下使用xshell登录管理linux,xshell提供了基于ssh的sftp功能。类似ssh登录配置,在xshell连接登录界面简单设置后就可以命令行界面登录linux。默认登录用户家目录,使用put上传,get下载。xshell还提供了xftp功能,这个是sftp的图形实现,安装xftp插件即可(按ctrl+alt+f)。

    15.5 使用pure-ftpd搭建ftp服务

    pure-ftpd比vsftpd要轻量,可以代替vsftpd。

    yum安装需要扩展源:yum install -y epel-release,安装pure-ftpd:yum install -y pure-ftpd

    编辑配置文件:vim /etc/pure-ftpd/pure-ftpd.conf,找到pureftpd.pdb这行,把行首的#删除,保存退出即可。systemctl stop vsftpd,关闭vsftpd,释放21端口。systemctl start pure-ftpd,开启pure-ftpd服务。

    测试前准备:

    mkdir /data/ftp  #创建共享目录
    useradd -u 1010 pure-ftp #创建系统用户
    chown -R pure-ftp:pure-ftp /data/ftp #更改共享目录(即虚拟用户的家目录)
    pure-pw useradd ftp_usera -u pure-ftp  -d /data/ftp #创建虚拟用户ftp_usera,-u指定映射的系统用户,-d指定家目录。执行此命令后按要求设置密码
    pure-pw mkdb #生成密码文件。此外常用命令有:pure-pw list/userdel/usermod/passwd,与系统用户管理类似。
    

    然后就可以用lftp或filezilla测试了。

    相关文章

      网友评论

        本文标题:FTP安装与配置

        本文链接:https://www.haomeiwen.com/subject/ltficqtx.html