加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

linux中ftp服务的搭建与介绍

发布时间:2020-12-14 01:32:39 所属栏目:Linux 来源:网络整理
导读:FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输
  • FTP 是File Transfer Protocol(文件传输协议)的英文简称,而中文简称为“文传协议”。用于Internet上的控制文件的双向传输。同时,它也是一个应用程序(Application)。基于不同的操作系统有不同的FTP应用程序,而所有这些应用程序都遵守同一种协议以传输文件。在FTP的使用当中,用户经常遇到两个概念:"下载"(Download)和"上传"(Upload)。
  • 安装vsftp(vsftp应该是一款不错的ftp软件。)
    yum search vsftp


    yum install vsftpd -y
    对vsftp进行安装


    systemctl start vsftpd 启动vsftpd服务
    systemctl status vsftpd 查看vsftpd状态


    3.设置防火墙
    安装ftp服务
    yun install ftp -y


    firewall-cmd --permanent --add-service=ftp 在防火墙中添加ftp服务
    firewall-cmd --reload 重新加载参数


    firewall-cmd --list-all 显示防火墙服务列表


    4.ftp搭建成功

  • 5.ftp配置文件修改
    配置文件: /etc/vsftpd/vsftpd.conf 每次修改配置文件后需要重新启动服务才能生效
    systemctl restart vsftpd.service
    1.anonymous_enable=YES|NO #匿名用户可以|不可以登陆


    匿名用户无法登陆
    2.local_enable=YES|NO #本地用户可以|不可以登陆



    3.write_enable=YES|NO ##ftp是否对登陆用户可写


    服务未开启
    4.报错id解析
    500 ##文件系统权限过大
    530 ##用户认证失败
    550 ##服务本身功能未开启
    553 ##本地文件系统权限过小
    5.匿名用户上传
    write_enable=YES
    anon_upload_enable=YES
    chgrp ftp /var/ftp/pub
    chmod 777 /var/ftp/pub(一定使用者需要有写权限)


    匿名用户可以上传文件
    6.匿名用户家目录修改(匿名用户家目录默认在/var/ftp)
    anon_root=/目录地址


    在新的家目录里新建一个文件夹 file1

    匿名用户登陆后验证 file1 则该家目录被修改
    7.匿名用户上传文件默认权限修改


    8.anon_mkdir_write_enable=YES|NO #匿名用户创建目录

    服务未开启


    目录被成功建立
    9.anon_world_readable_only=NO #匿名用户下载,设定参数为no,表示匿名用户可以下载

    服务未开启


    下载成功
    10.anon_other_write_enable=YES|NO #匿名用户删除



    服务开启 删除成功
    11.anon_max_rate=102400 #匿名用户最大上传速率 单位为字节
    dd if=/dev/zero of=/mnt/redfile bs=1M count=1000 截取daxiao大小为1M的数据存在redfile中

    上传平均速度为102400
    12.匿名用户最大链接数


    这里表示连接数最多为两个
    13.匿名用户修改上传文件所有者


    chown_uploads=YES
    chown_username=xxxx(系统已存在的用户名)


    14.匿名用户修改上传文件权限


    上传的文件权限被更改
    本地用户
    local_enable=YES|NO ##本地用户登陆限制
    write_enable=YES|NO ##本地用户写权限
    local_root=/绝对路径 本地用户家目录修改,默认登陆用户家目录


    本地用户的登陆与写的权限开启

    修改本地用户的家目录为/var/ftp


    local_umask=xxx #本地用户上传文件的umask值



    限制本地用户浏览/目录
    所有用户被锁定到自己家目录中
    chroot_local_user=YES(此参数与用户写权限冲突,所以将用户所有写权限删除,由于此目录下只有拥有者有写权限,所以只需要把用户写权限减去。但是如果需要上传文件,则可能会出现553报错,建议减去用户权限后做完实验即可恢复。)
    chmod u-w /home/*



    关闭后成功切换到 /


    用户黑名单
    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    在/etc/vsftpd/chroot_list名单的用户被锁定在自己家目录中




    用户白名单
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    不在/etc/vsftpd/chroot_list名单的用户被锁定在自己家目录中


    bruceiter 不在chroot_list中 则访问不了/目录

    限制本地用户登陆
    vim /etc/vsftpd/ftpusers ##用户黑名单
    vim /etc/vsftpd/user_list ##用户临时黑名单


    用户白名单设定
    userlist_deny=NO ##将本来的名单权限打开,并且关闭黑名单权限,就是剩余白名单权限
    /etc/vsftpd/user_list ##设定可以登陆ftp的用户

    NO为打开


    开启后所有用户登陆不了


    在 /etc/vsftpd/user_lis 添加后登陆成功

    ftp虚拟用户的设定
    vim /etc/vsftpd/userfile ##新建虚拟用户账户密码信息
    user1
    2233
    user2
    2233
    user3
    2233
    db_load -T -t hash -f /etc/vsftpd/userfile /etc/vsftpd/userfile.db ##将新建的用户账户密码文件加密
    vim /etc/pam.d/user ##编写验证账户密码若验证不通过拒绝,验证软件,被验证核对的文件
    account required pam_userdb.so db=/etc/vsftpd/userfile(为之前建立的账户密码信息文件)
    auth required pam_userdb.so db=/etc/vsftpd/userfile
    vim /etc/vsftpd/vsftpd.conf
    pam_service_name=user ##验证的文件是从/etc/pam.d/user决定的,与其同名
    guest_enable=YES ##设定虚拟用户登陆
    guest_username=ftp ##登陆软件是ftp
    登陆使用 -u是由于虚拟用户与本地用户都是使用ftp这个用户的身份,ftp用户是安装时就生成的。

    虚拟帐号家目录独立设定
    vim /etc/vsftpd/vsftpd.conf
    local_root=/ftphome/$USER ##区分虚拟账户家目录,但是由于$USER是脚本用法,所以用下一句来告诉ftp,$USER的用法与脚本中的$USER一样
    user_sub_token=$USER
    ##可以在每个虚拟用户家目录下建立不同的文件作为标示。
    mkdir /ftphome/user1/user1file -p
    mkdir /ftphome/user2/user2file -p
    mkdir /ftphome/user3/user3file -p

    独立设置配置文件vim /etc/vsftpd/vsftpd.conf user_config_dir=/etc/vsftpd/userconf并且注释掉关于匿名用户的语句。在/etc/vsftpd/userconf/user1中添加关于匿名用户配置语句,重启服务,以用户1的身份链接出现创建文件,创建成功之后,若用户2创建不成功,则说明二者独立设置配置文件。但是应注意要把之前的配置文件关于匿名用户全部注释,否则默认读取原来的配置文件,没有找到权限就找自己的配置文件。

    (编辑:李大同)

    【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

      推荐文章
        热点阅读