记录一次 ftp 安装 无法连接的问题
前言
当我安装下面 步骤安装玩ftp 的时候,使用创建的用户怎么也登陆不了,明明刚设置的密码,就是报错530 账号密码错误,最终终于改了配置 得以登录 步骤如下
- 查看
/etc/ftpusers
,确保账号没有在这个文件内。- 修改/etc/pam.d/vsftpd,将
auth required pam_shells.so
修改为->auth required pam_nologin.so
或者将auth required pam_shells.so
注释- 重启
vsftpd
sudo systemctl restart vsftpd
解决方案
ftp安装
在CentOS上安装FTP服务器,通常使用的是vsftpd(Very Secure FTP Daemon),这是一个在Linux系统上广泛使用的FTP服务器软件。以下是详细的安装和配置步骤:
一、系统要求
- 操作系统:CentOS 7及以上版本
- 内存:至少512MB,建议1GB或更多
- 硬盘空间:至少1GB,建议更多
- 网络连接:确保服务器能够连接到互联网以下载必要的软件包
二、安装vsftpd
- 更新系统软件包(可选但推荐):
sudo yum update -y
- 安装vsftpd:
sudo yum install vsftpd -y
三、配置vsftpd
- 备份原配置文件(可选但推荐):
sudo cp /etc/vsftpd/vsftpd.conf /etc/vsftpd/vsftpd.conf.backup
- 编辑配置文件:
sudo nano /etc/vsftpd/vsftpd.conf
在配置文件中进行以下修改:
- 禁用匿名用户登录:
anonymous_enable=NO
- 启用本地用户登录,并允许读写操作:
local_enable=YES
write_enable=YES
- 设置本地用户上传文件的默认权限掩码(umask):
local_umask=022
- 其他安全和功能性配置:
chroot_local_user=YES # 将用户限制在其主目录中
allow_writeable_chroot=YES # 允许对可写chroot目录的访问
xferlog_enable=YES # 启用传输日志
xferlog_std_format=YES # 使用标准日志格式
listen=NO # 在IPv6上监听,而不是IPv4
listen_ipv6=YES
pam_service_name=vsftpd # 使用PAM进行身份验证
- 保存并关闭文件。
四、创建FTP用户并设置权限
- 创建新用户:
sudo adduser ftpuser # 或者使用 useradd ftpuser
- 设置用户密码:
sudo passwd ftpuser
- 限制用户只能通过FTP访问(可选):
sudo usermod -s /sbin/nologin ftpuser
- 创建用户目录并设置权限:
sudo mkdir -p /home/ftpuser/ftp
sudo chown nobody:nobody /home/ftpuser/ftp # 或者根据需要设置其他用户和组
sudo chmod a-w /home/ftpuser/ftp # 禁止其他用户写入
sudo mkdir /home/ftpuser/ftp/files # 创建可写入的上传目录
sudo chown ftpuser:ftpuser /home/ftpuser/ftp/files # 设置上传目录的所有者和组
五、启动和配置防火墙
- 启动vsftpd服务:
sudo systemctl start vsftpd
- 设置vsftpd开机自启动:
sudo systemctl enable vsftpd
- 开放防火墙端口:
sudo firewall-cmd --permanent --add-service=ftp
sudo firewall-cmd --reload
或者,如果需要手动指定端口(例如,如果vsftpd配置在非标准端口上):
sudo firewall-cmd --permanent --add-port=21/tcp # FTP控制端口
sudo firewall-cmd --permanent --add-port=20/tcp # FTP数据端口(如果需要)
sudo firewall-cmd --reload
六、配置SELinux(如果启用)
如果SELinux处于启用状态,可能需要进行以下设置以允许FTP访问:
sudo setsebool -P ftp_home_dir on
sudo setsebool -P ftpd_full_access on
七、测试FTP连接
使用FTP客户端软件(如FileZilla、WinSCP等)或命令行工具(如ftp、lftp等)连接FTP服务器,验证安装和配置是否成功。
通过以上步骤,您应该能够在CentOS系统上成功安装和配置FTP服务器。请记得定期更新系统和vsftpd软件,以确保安全性。根据实际需求,您可能还需要进行更细致的权限和安全设置。