• FTP在CentOS上安装与使用


    安装:

    yum install -y vsftpd

    相关配置文件:

    /etc/vsftpd/vsftpd.conf //主配置文件,核心配置文件
    
    /etc/vsftpd/ftpusers //黑名单,这个里面的用户不允许访问FTP服务器
    
    /etc/vsftpd/user_list //白名单,允许访问FTP服务器的用户列表

    启动服务

    systemctl enable vsftpd.service //设置开机自启动
    
    systemctl start vsftpd.service //启动ftp服务
    
    netstat -antup | grep ftp //查看ftp服务端口

    匿名ftp的基本配置

    使用匿名FTP,用户无需输入用户名密码即可登录FTP服务器,vsftpd安装后默认开启了匿名ftp的功能,用户无需额外配置即可使用匿名登录ftp服务器。

    匿名ftp的配置在/etc/vsftpd/vsftpd.conf中设置。

    anonymous_enable=YES //默认即为YES

    这个时候任何用户都可以通过匿名方式登录ftp服务器,查看并下载匿名账户主目录下的各级目录和文件,但是不能上传文件或者创建目录。

    匿名ftp的其他设置

    出于安全方面的考虑,vsftpd在默认情况下不允许用户通过匿名FTP上传文件,创建目录等更改操作,但是可以修改vsftpd.conf配置文件的选项,可以赋予匿名ftp更多的权限。

    允许匿名ftp上传文件。

    修改/etc/vsftpd/vsftpd.conf

    write_enable=YES

    anon_upload_enable=YES

    2、更改/var/ftp/pub目录的权限,为ftp用户添加写权限,并重新加载配置文件

    chmod o+w /var/ftp/pub/                     #更改/var/ftp/pub目录的权限
    systemctl restart vsftpd.service            #重启ftp服务

    配置本地用户登录

    本地用户登录就是指使用Linux操作系统中的用户账号和密码登录ftp服务器,vsftp安装后默只支持匿名ftp登录,用户如果试图使用Linux操作系统中的账号登录服务器,将会被vsftpd拒绝

    1.创建ftptest用

    useradd ftptest                    #创建ftptest用户
    passwd ftptest                     #修改ftptest用户密码

    2.修改/etc/vsftpd/vsftpd.conf

    anonymous enable=NO
    local_enable=YES

    另外简单介绍下vsftpd.conf的配置文件参数说明。

    用户登陆控制

    参数说明
    anonymous_enable=YES 接受匿名用户
    no_anon_password=YES 匿名用户login时不询问口令
    anon_root=(none) 匿名用户主目录
    local_enable=YES 接受本地用户
    local_root=(none) 本地用户主目录

    用户权限控制

    参数说明
    write_enable=YES 可以上传(全局控制)
    local_umask=022 本地用户上传文件的umask
    file_open_mode=0666 上传文件的权限配合umask使用
    anon_upload_enable=NO 匿名用户可以上传
    anon_mkdir_write_enable=NO 匿名用户可以建目录
    anon_other_write_enable=NO 匿名用户修改删除
    chown_username=lightwiter 匿名上传文件所属用户名

     

    配置vsftpd环境
    执行下边的命令,一行一行来。

    #sed -i "s/anonymous_enable=YES/anonymous_enable=NO/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#anon_upload_enable=YES/anon_upload_enable=NO/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#anon_mkdir_write_enable=YES/anon_mkdir_write_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#chown_uploads=YES/chown_uploads=NO/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#async_abor_enable=YES/async_abor_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#ascii_upload_enable=YES/ascii_upload_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#ascii_download_enable=YES/ascii_download_enable=YES/g" '/etc/vsftpd/vsftpd.conf'  
      
    #sed -i "s/#ftpd_banner=Welcome to blah FTP service./ftpd_banner=Welcome to FTP service./g" '/etc/vsftpd/vsftpd.conf'  
      
    #echo -e "use_localtime=YES
    listen_port=21
    chroot_local_user=YES
    idle_session_timeout=300  
      
    #
    data_connection_timeout=1
    guest_enable=YES
    guest_username=Fuser  
      
    #
    user_config_dir=/etc/vsftpd/vconf
    virtual_use_local_privs=YES  
      
    #allow_writeable_chroot=YES  
      
    #
    pasv_min_port=40000
    pasv_max_port=41000  
      
    #
    accept_timeout=5
    connect_timeout=1" >> /etc/vsftpd/vsftpd.conf  

    创建ftp用户
    创建用户Fuser,一些写教程登录终端是/bin/false,我卡这半天,具体可以搜它和nologin的区别

    #useradd Fuser -d /wwwroot -s /sbin/nologin  
    #chown Fuser.Fuser /wwwroot -R  
    #passwd Fuser

    重启vsftp服务

    systemctl restart vsftpd.service

    注意,这里是centos的关于vsftp重启,以前的命令在这不管用!如果开了防火墙,记得把相应的端口添加进去,本场环境中涉及21,40000-41000

    可能会用到的:
    彻底删除用户:#userdel -rf Fuser //强制删除用户及相关目录文件
    变更用户属性:#usermod -s /sbin/nologin Fuser
    查看当前服务:#netstat -lntp

     我的可运行配置(/etc/vsftpd/vsftpd.conf):

    anonymous_enable=NO
    local_enable=YES
    write_enable=YES
    local_umask=022
    
    #anon_upload_enable=YES
    #anon_mkdir_write_enable=YES
    
    dirmessage_enable=YES
    xferlog_enable=YES
    connect_from_port_20=YES
    
    #chown_uploads=YES
    #chown_username=whoever
    #xferlog_file=/var/log/vsftpd.log
    
    xferlog_std_format=YES
    
    #idle_session_timeout=600
    #data_connection_timeout=120
    #nopriv_user=ftpsecure
    
    async_abor_enable=YES
    ascii_upload_enable=YES
    ascii_download_enable=YES
    
    #ftpd_banner=Welcome to blah FTP service
    #deny_email_enable=YES
    #banned_email_file=/etc/vsftpd/banned_emails
    #chroot_list_enable=YES
    #chroot_list_file=/etc/vsftpd/chroot_list
    #ls_recurse_enable=YES?listen=YES
    #listen_ipv6=YES
    
    pam_service_name=vsftpd
    userlist_enable=YES
    tcp_wrappers=YES
    
    local_root=/usr/share/nginx/html
    chroot_local_user=YES
    allow_writeable_chroot=YES

    可能性二:

    匿名用户的目录(/var/ftp/pub)没有写权限,需要将其设置为具有写权限。

    首先转到/var/ftp

    然后在终端中输入:chmod 777 pub。

  • 相关阅读:
    [原创] 如何在ietester下使用firebug
    Undeclared identifier: 'XXXX'
    图解SQL多表关联查询
    如何去掉Delphi自动生成的~.pas等临时文件
    DataSetProvider的Option属性
    DELPHI DATASNAP 2010 入门操作(2)不写一行代码,绿色三层我也行
    Windows下搭建Android开发环境
    Delphi快捷键大全
    DevExpress的TcxDBLookupComboBox使用方法及问题
    SQL的重复记录处理大全
  • 原文地址:https://www.cnblogs.com/firstcsharp/p/7410534.html
Copyright © 2020-2023  润新知