91Linux - ftp
type: channel
link: https://91linux.org/tag/ftp/
items: vsftpd提示500错误解决
items: CentOS7安装Pure-FTPd

vsftpd提示500错误解决
type: item
date: 2020-04-13T12:41:00+08:00
description: Ubuntu16.04系统下成功安装vsftpd后，远程登录时提示：500 OOPS: vsftpd: refusing to run with writable root inside chroot()根本原因在于，从vsftpd_2.3.5版开始，取消了根目录的可写权限。因此，网上的普遍解决方案是以下两种：方案一chmod a-w /vaf/ftp 方案二vim /etc/vsftpd.conf add the following allow_writeable_chroot=YES 看起来，貌似第二种方式是更完美，但当把allow_writeable_chroot=YES配置项加入的时候，重启vsftpd服务的时候发现不能正常工作了（21端口无程序在监听），于是上网继续查找解决方案，有人说配置项是allow_writable_chroot（少了个e），还有说配置项是allow_writable_root（少了ch）的，经过测试，发现全都不行。后来总算找到一个可行的方法：编辑配置文件vim /etc/vsftpd.conf chroot_local_user=YES allow_writeable_chroot=YES重启vsftpdsudo systemctl restart vsftpd

CentOS7安装Pure-FTPd
type: item
date: 2020-04-13T12:22:00+08:00
description: Pure-FTPd是Linux上的一个开源的FTP服务程序。下面记录了在CentOS 7上安装配置Pure-FTPd的步骤安装epel源：yum install epel-release使用yum命令安装Pure-FTPd：yum install pure-ftpd配置Pure-FTPd：位置文件位于/etc/pure-ftpd/pure-ftpd.conf：编辑：vim /etc/pure-ftpd/pure-ftpd.conf根据需求配置。我的简单配置：注释掉PAMAuthentication yes#PAMAuthentication yes 去掉PureDB /etc/pure-ftpd/pureftpd.pdb的注释：PureDB /etc/pure-ftpd/pureftpd.pdb 如果你想使用系统用户登录/etc/passwd)注释掉：UnixAuthentication yes 启动pure-ftpd服务：systemctl enable pure-ftpd systemctl start pure-ftpd 添加FTP用户：pure-pw useradd UserName -u User -g Group -d /path/to/ftp/dirUserName：FTP用户系统用户，例如apache或www-data，需要有ftp目录的读写权限。系统用户组，例如apache或www-data/path/to/ftp/dir：FTP目录例如：pure-pw useradd ftptest -u apache -g apache -d /var/www/blog/ftp密码加密保存在/etc/pure-ftpd/pureftpd.passwd保存Pure-FTPD用户数据库：pure-pw mkdb使添加的用户生效：systemctl restart pure-ftpd