如何创建可以访问我的 CentOS 虚拟服务器的 FTP 用户?

如何创建可以访问我的 CentOS 虚拟服务器的 FTP 用户?

我有一个运行 CentOS 的虚拟服务器,需要创建一个 FTP 用户提供给客户端,以便他们可以上传一些文件给我。

知道我该怎么做吗?我如何只允许他们从一个文件夹上传的权限?(我不在乎哪个文件夹,只要他们不能访问我的其他文件。)

谢谢。

答案1

以下是基础知识

为您的客户端创建一个本地用户帐户,并为其提供密码和主目录等。

安装 vsftpd

yum install vsftpd

编辑

/etc/vsftpd/vsftpd.conf

anonymous_enable=NO
local_enable=YES
write_enable=YES
xferlog_file=YES
local_umask=022
chroot_local_user=YES
listen=YES
pam_service_name=vsftpd

保存文件并退出然后重新启动 vsftpd

/sbin/service vsftpd restart

并确保它在系统启动时运行

/sbin/chkconfig vsftpd on

编辑/etc/sysconfig/iptables-config

确保有一个条目IPTABLES_MODULES,其中包含ip_conntrack_ftp例如

IPTABLES_MODULES="ip_conntrack_ftp"

然后修改防火墙

/sbin/service iptables save

编辑 /etc/sysconfig/iptables

行后

:RH-Firewall-1-Input - [0:0]或类似( [0:0] 可能不同)添加

-A RH-Firewall-1-INPUT -m state --state NEW -p tcp --dport 21 -j ACCEPT

保存文件并退出,然后重新启动防火墙

/sbin/service iptables restart

你该走了。

答案2

考虑使用 OpenSSH 和 chrooted 主目录为您的用户设置 SFTP 服务器。优点:密钥对身份验证(因此您可以禁用密码身份验证)、您不需要(或者他们不需要)打开 TCP 22 以外的任何其他端口、端到端加密,并且使用 chrooted 主目录,他们只能被“监禁”在其 chrooted 主目录中,并且无法访问该目录之外的内容。

相关内容