linux下FTP服务搭建与管理

  1. ftp的定义
    ftp:// ##文件传输协议
  2. ftp协议提供的软件
    在rhel7中:
    vsftpd
  3. 安装并开启vsftpd:
    yum install vsftpd -y
    ###安装vsftpd###
    systemctl start vsftpd
    ###启动vsftpd###
  4. 部署FTP服务:
    vim /etc/sysconfig/selinux
    将原来的enforcing改为disabled
    linux下FTP服务搭建与管理
    getenforce ###查看seLinux状态###

firewall-cmd --permanent --add-service=ftp ##防火墙开启ftp服务
firewall-cmd --reload
或者
firewall-config
firewall-cmd --list-all
linux下FTP服务搭建与管理
在另一台主机上安装lftp
linux下FTP服务搭建与管理
与另一台成功连接

  1. ftp服务的基本信息:
    软件安装包: vsftpd
    默认发布目录: /var/ftp
    协议接口: 21/tcp
    服务配置文件:/etc/vsftpd/vsftpd.conf
    报错id的解析:
    500 ##文件系统权限过大
    530 ##用户认证失败
    550 ##服务本身功能未开放
    553 ##本地文件系统权限过小

  2. 匿名用户的设定:
    vim /etc/vsftpd/vsftpd.conf
    ###服务的配置文件###
    anonymous_enable=YES|NO
    ###匿名用户是否可以登陆###
    linux下FTP服务搭建与管理
    linux下FTP服务搭建与管理

  3. 匿名用户上传:
    vim /etc/vsftpd/vsftpd.conf
    write_enable=YES|NO
    ###ftp是否对登陆用户可写###
    anon_upload_enable=YES
    ###开启匿名用户上传的服务###
    linux下FTP服务搭建与管理

  4. 匿名用户的管理:
    anon_root=/direcotry
    ###目录必须存在###
    anon_umask=xxx
    ###修改用户文件权限###
    anon_mkdir_write_enable=YES
    linux下FTP服务搭建与管理
    linux下FTP服务搭建与管理
    anon_world_readable_only=NO
    ###匿名用户下载###
    anon_other_write_enable=YES
    ###匿名用户删除###

  5. ** 匿名用户身份的修改:**
    hown_uploads=YES
    ###开启对应服务###
    chown_username=bai
    ###指定用户,前提用户必须存在###
    linux下FTP服务搭建与管理
    linux下FTP服务搭建与管理

  6. 匿名用户最大上传速率:
    anon_max_rate=102400
    linux下FTP服务搭建与管理

  7. 最大链接数:
    max_clients=2
    linux下FTP服务搭建与管理

  8. 本地用户家目录的修改:
    local_root=/directory

  9. 本地用户上传文件权限:
    local_umask=xxx

  10. 限制本地用户浏览/目录:
    限制用户被锁定到自己的家目录中
    chroot_local_user=YES
    chmod u-w /home/*
    linux下FTP服务搭建与管理

  11. 用户黑名单建立:
    chroot_local_user=NO
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    ###在名单中的不可以访问其他目录###
    vim /etc/vsftpd/chroot_list 编辑这个文件,这里把student设为黑名单
    linux下FTP服务搭建与管理

  12. 用户白名单建立:
    chroot_local_user=YES
    chroot_list_enable=YES
    chroot_list_file=/etc/vsftpd/chroot_list
    ###在名单中的可以访问其他目录###

  13. 限制本地用户登陆:
    vim /etc/vsftpd/ftpusers
    ###此文件是限制本地用户登陆的永久黑名单,凡是在此名单中的用户都无法登陆###
    vim /etc/vsftpd/user_list
    ###此文件用来设置临时黑名单###
    vim /etc/vsftpd/vsftpd.conf
    ###更改以下设置临时黑名单可以改变为白名单###
    userlist_deny=NO
    ###将此行参数改为NO,前面设置为临时黑名单的用户有会变成白名单###
    vim /etc/vsftpd/user_list
    linux下FTP服务搭建与管理

  14. ftp虚拟用户的登陆:
    linux下FTP服务搭建与管理
    vim /etc/pam.d/bai
    ###文件名称任意,设定用户的认证###
    account required pam_userdb.so db=/etc/vsftpd/baibai
    ###与前面文件名称设定保持一致###
    auth required pam_userdb.so db=/etc/vsftpd/baibai
    ###编写配置文件###
    vim /etc/vsftpd/vsftpd.conf
    pam_service_name=bai
    ###更改认证方式###
    guest_enable=YES
    ###打开虚拟用户功能###
    guest_username=ftp
    ###指定用户登陆身份###
    linux下FTP服务搭建与管理

  15. 指定虚拟用户登陆家目录:
    mkdir -p /var/ftpuser/bobo{1…3}
    touch /var/ftpuser/bobo1/file1
    touch /var/ftpuser/bobo2/file2
    touch /var/ftpuser/bobo3/file3
    ##家目录名须和虚拟账户名相同
    vim /etc/vsftpd/vsftpd.conf
    ##更改配置文件
    local_root=/var/ftpuserdir/$ USER
    ###设置用户进入时的家目录为/var/ftpuserdir/$ USER, $ USER表示当前用户的名字###
    user_sub_token=$ USER
    ###设置该配置文件识别$ USER符号时使用shell里的 $ USER###
    linux下FTP服务搭建与管理
    linux下FTP服务搭建与管理

  16. 虚拟帐号的配置独立:
    mkdir -p /etc/vsftpd/userconf
    vim /etc/vsftpd/vsftpd.conf
    写入user_config_dir=/etc/vsftpd/user_conf
    ###设置虚拟用户独立配置路径###