笔记:debian下vsftpd安装与配置

环境:debian10

1.新建ftp用户
useradd -s /usr/sbin/nologin -g ftp -d /ftp/ftp1 -m ftp1
password ftp1
#然后输入密码

这样就在创建了一个用户组为ftp、用户默认目录为ftp/ftp1且不能登陆ssh的用户ftp1

2. 安装vsftpd

apt install vsftpd

3. 配置
  1. 备份
    cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
  2. 修改配置
    listen=YES
    listen_ipv6=NO
    
    # 禁止匿名登录
    anonymous_enable=NO
    
    # 允许本地用户登录
    local_enable=YES
    
    # ftp可写命令 包括 复制粘贴 剪切移动 新建删除
    write_enable=YES
    
    # 本地用户权限
    local_umask=022
    
    # 匿名用户上传文件
    anon_upload_enable=NO
    
    # 匿名用户新建文件夹
    anon_mkdir_write_enable=NO
    
    # 目录消息 当远程用户进入某个目录 向他们发送消息
    dirmessage_enable=YES
    
    # 本地时间
    use_localtime=YES
    
    # 激活上载/下载的日志记录
    xferlog_enable=YES
    
    # 确保PORT传输连接来自端口20(FTP数据) 
    connect_from_port_20=YES
    
    # 覆盖日志文件所在的位置。 默认值 /var/log/vsftpd.log
    xferlog_file=/var/log/vsftpd.log
    
    # 如果需要,可以将日志文件设置为标准ftpd xferlog格式。
    # 请注意,在这种情况下,默认的日志文件位置是/var/log/xferlog
    #xferlog_std_format=YES
    
    # 二进制上传与下载
    ascii_upload_enable=YES
    ascii_download_enable=YES
    
    # 您可以完全自定义登录标题字符串:
    ftpd_banner=Welcome to blah FTP service.
    
    # 将本地用户限制为他们的主目录。
    chroot_local_user=YES
    
    # 允许写入,解决500错误
    allow_writeable_chroot=YES
    
    # 取消注释以指示vsftpd使用utf8文件系统。
    utf8_filesystem=YES
    
    
    然后我们新建vsftpd的log文件
    touch /var/log/vsftpd.log
4. 重启vsftpd 并用客户端连接

service vsftpd restart

5. 解决 vsftpd 530 Login incorrect 错误

vi /etc/pam.d/vsftpd
auth required pam_shells.so注释或修改为auth required pam_nologin.so
解决方案:https://blog.csdn.net/wqh0830/article/details/87795709

6. ftp客户端不能上传文件

保证ftp用户的根目录权限为755(rwxr-xr-x)

你可能感兴趣的:(Linux笔记)