环境:debian10
- 新建ftp用户
useradd -s /usr/sbin/nologin -g ftp -d /ftp/ftp1 -m ftp1
password ftp1
#然后输入密码
这样就在创建了一个用户组为ftp、用户默认目录为ftp/ftp1且不能登陆ssh的用户ftp1
- 安装vsftpd
apt install vsftpd
- 配置
- 备份
cp /etc/vsftpd.conf /etc/vsftpd.conf.backup
- 修改配置
然后我们新建vsftpd的log文件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
touch /var/log/vsftpd.log
- 备份
- 重启vsftpd 并用客户端连接
service vsftpd restart
- 解决 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 - ftp客户端不能上传文件
保证ftp用户的根目录权限为755(rwxr-xr-x)
网友评论