添加 FTP 账户

添加 FTP 账户

我在 CentOS 服务器上有 SSH 访问权限。我也有 Plesk 9.2

我想创建一个新文件夹,例如我的测试进入我的頁面然后添加一个新的 FTP 用户以便只能访问此文件夹,我只想看到这个目录而不看到任何其他目录。

答案1

假设您具有 root 访问权限,则该过程可概括如下,其中整个说明中的“pathto”是完整路径(/something/something/httpdocs/mytest),“myuser”是用户:

  1. 创建新用户,以主目录作为路径。
  2. 修改 proftpd 来监禁用户。
  3. 修改mytest的权限。
  4. 重新启动 proftpd。

因此,我们首先假设 mytest 目录已经存在,并且 myuser 是用户名和组名。以 root 身份运行:

addgroup myuser
adduser --home pathto --no-create-home --group myuser myuser

然后在提示时输入密码。

现在我们编辑 /etc/proftpd/proftpd.conf,您可能希望先备份该文件。使用您最喜欢的编辑器确保在配置文件中设置了以下内容:

DefaultRoot ~

这会将登录用户锁定到他们的主目录(ymmv,出于显而易见的原因,这可能会产生后果)。

现在我们应该确保新用户的权限是正确的......

chown myuser:myuser pathto
chmod 755 pathto

755 将授予目录用户读/写/执行权限,用户和世界读/执行权限(这对于 apache 查看其中的文件是必要的,或多或少)。

现在我们可以重新启动 proftpd 并测试我们的更改:

/etc/init.d/proftpd restart

关于这些说明,需要注意以下几点:

  • 您可能希望考虑将 /bin/false 添加到 /etc/shells 中,并使用户 shell 为 /bin/false。这将阻止他们通过 SSH 登录,但仍允许他们通过 FTP 登录。为此,在将相关条目添加到 /etc/shells 后,将 --shell /bin/false 添加到 adduser 命令中。
  • 为了清晰和简单起见,我省略了更改背后的一些更精确的原因。例如权限。
  • 如果文件已存在于 pathto 中,则如果您希望新用户能够控制这些文件,则需要修复这些文件的权限。
  • 可能路径和命令(例如 /etc/init.d/proftpd 和 /etc/proftpd/proftpd.conf)不正确。我只处理 debian/ubuntu,因此对 centos/redhat 几乎一无所知。

如果您需要对此喊话进行更改,我会进行更改,我只是想写下一些内容,即使稍有错误。

相关内容