• FTP 安装配置


    FTP 安装配置:

    一、基础操作

    yum install -y ftp

    yum install -y vsftpd

     

    service iptables stop

    chkconfig iptables off

     

    service vsftpd start

    chkconfig vsftpd on

    部分系统需要关闭selinux.

    执行完vsftpd包的安装,FTP的基础配置就算完成了。

    二、OS用户和匿名用户配置

    2.1 基础操作

    1.OS用户案例一:

    useradd test ;passwd test

    test用户能登录OS,能正常使用FTP,FTP根目录为家目录/home/test/

     

    2.OS用户案例二:

    useradd test1 -s /sbin/nologin

    test1用户不能登录,但能正常使用FTPFTP根目录为家目录/home/test1/

     

    3.匿名用户

    可以登录,FTP根目录为/var/ftp/,能访问该目录下‘ftp’用户能访问的资源,比如在该目录下建一个文件夹

    mkdir /var/ftp/anon_ftp

    chown ftp:ftp /var/ftp/anon_ftp

    匿名用户就可以在/var/ftp/anon_ftp下执行任何操作了。

    注意:‘ftp'用户能访问的资源,包括拥有者为’ftp'other权限为可读写的文件或文件夹。

    2.2 修改OS用户FTP家目录

    vi /etc/vsftpd/vsftpd.conf

    local_root=/FTP             #修改FTP根目录为/FTP

     

    service vsftpd restart      #重启服务

    2.3 禁止切换出自己FTP家目录

    注意:
    1.
    前面的操作下,用户登录FTP后可以访问操作系统上任何自己拥有权限的目录和文件。
    2.
    自己上传到任何位置的任何文件,自己拥有rw权限,其他人拥有r权限,也就是其他人能下载不能删除。(644

    vi /etc/vsftpd/vsftpd.conf

    chroot_local_user=YES       #禁止切换出FTP根目录

     

    service vsftpd restart      #重启服务

    如上,所有用户的FTP操作都将限制在/FTP根目录下

    2.4 开启匿名用户上传下载

    vi /etc/vsftpd/vsftpd.conf

        anonymous_enable=YES

        anon_root=/FTP/anonymous        #匿名用户根目录修改(默认/var/ftp

        anon_upload_enable=YES          #允许上传和创建文件

        anon_mkdir_write_enable=YES     #允许创建目录

        anon_other_write_enable=YES     #允许删除、重命名文件和目录

        anon_umask=022                  #默认上传文件权限为600,修改后为644

    注意:
    1.
    若修改了匿名用户的家目录,则要做如上操作。
    2.
    匿名用户的权限为ftp用户权限。
    3.
    匿名用户根目录不能具有写权限,可在下面建一个目录授权ftpother读写权限,匿名用户即可拥有完整权限。

    2.5 关闭特定或匿名用户访问

    关闭匿名用户的访问可在vsftpd.conf文件的最后添加

    anonymous_enable=YES

    执行结果:输入密码会报错。  

     

    更加严格的做法如下:

     

    vi /etc/vsftpd/vsftpd.conf

    userlist_enable=YES         #使用user_list配置文件

    userlist_deny=NO            #NO表示user_list文件列出的用户拒绝访问,若为YES则只允许列出的用户访问

     

    vi /etc/vsftpd/user_list

    anonymous

    执行结果:不让指定用户输入密码示的拒绝访问

     

    service vsftpd restart

    上面讲了OS用户和匿名用户的配置和操作。

    三、虚拟用户配置

    yum install -y ftp vsftpd db4*

     

    #创建FTP目录

    mkdir -p /FTP/ftptest

    chown ftp:ftp /FTP/ftptest

    chmod 700 /FTP/ftptest

     

    #配置FTP全局参数

    vi /etc/vsftpd/vsftpd.conf

     

    anonymous_enable=NO

    local_enable=YES

    chroot_local_user=YES

    ascii_upload_enable=YES

    ascii_download_enable=YES

    pam_service_name=vsftpd.vu

    guest_enable=YES

    guest_username=ftp

    virtual_use_local_privs=YES

    user_config_dir=/etc/vsftpd/vconf

     

    #添加虚拟用户

    vi /etc/vsftpd/vusers

    ftptest

    ftptest

     

    #生成虚拟用户库文件

    db_load -T -t hash -f /etc/vsftpd/vusers /etc/vsftpd/vusers_db.db

    chmod 600 /etc/vsftpd/vusers_db.db

     

    #添加虚拟用户私有参数

    mkdir /etc/vsftpd/vconf

    vi /etc/vsftpd/vconf/ftptest

    local_root=/FTP/ftptest

     

    #配置虚拟用户库文件认证

    vi /etc/pam.d/vsftpd.vu

    auth required pam_userdb.so db=/etc/vsftpd/vusers_db

    account required pam_userdb.so db=/etc/vsftpd/vusers_db

     

    #重启服务

    service vsftpd restart  

    #关闭防火墙

    service iptables stop 

    #开机启动

    chkconfig vsftpd on

    如上,完成了虚拟用户的配置,虚拟用户的权限依赖于宿主用户ftp

    pamservicename=vsftpd.vu        #虚拟用户名密码认证
    guestenable=YES                      #
    允许虚拟用户访问
    guestusername=ftp                    
    #宿主用户指定为ftp

    virtualuselocal_privs=YES          #虚拟用户使用宿主用户的权限

    四、其他

    4.1 虚拟路径

    比如虚拟用户的默认路径为/var/ftp,想把/mnt/disk1/soft文件夹映射到/var/ftp,执行如下:

    mkdir /var/ftp/soft

    mount --bind /mnt/disk1/soft /var/ftp/soft

    相当于修改了ftp存储的位置。

    4.2 报错500 OOPS: cannot change directory

    如果报错500 OOPS: cannot change directory 有可能是SELINUX引起的

    vi /etc/sysconfig/selinux

    SELINUX=enforcing 修改为SELINUX=disabled 关闭SELINUX, 重新启动机器,问题解决。

    setsebool ftpd_disable_trans 1

    service vsftpd restart

    SELINUX中关于ftp服务传输控制的默认设置修改后再将vsftp服务重新启动一下

    学习如茶,需细细品味。
  • 相关阅读:
    15.接口
    14.抽象类
    13.系统总结static
    免费的Lucene 原理与代码分析完整版下载
    CODE大全浅谈谷歌adsense与PIN码
    CSDN社区投诉申请表
    Koa框架教程,Koa框架开发指南,Koa框架中文使用手册,Koa框架中文文档
    CODE大全告诉你java是否开始没落了
    Jsoup教程jsoup开发指南,jsoup中文使用手册,jsoup中文文档
    CODE大全——机器学习
  • 原文地址:https://www.cnblogs.com/plluoye/p/6076287.html
Copyright © 2020-2023  润新知