限制对 proftpd 用户的访问

Posted

技术标签:

【中文标题】限制对 proftpd 用户的访问【英文标题】:Limit access to proftpd user 【发布时间】:2014-11-18 10:21:02 【问题描述】:

我正在尝试限制 proftpd 中特定用户(例如 bob)的访问。我有一些用户可以访问整个服务器,但是 1 个特定用户应该只能访问 2 个文件夹。有这个结构:

/var/www/site/
/var/www/site/views/
/var/www/site/assets/
/var/www/site/[more files and folders]

我成功地为用户 bob 授予了对两个文件夹之一的“入狱”访问权限,但不能同时访问这两个文件夹。

DefaultRoot       /var/www/site/views bob
DefaultRoot       / ftpuser

这样ftpuser现在可以无限制访问了,bob只能访问/var/www/site/views

如何让 bob 也可以访问 /var/www/site/assets ??

我尝试了 2 个解决方案,但都没有成功:

    链接

我试过ls -s /var/www/site/assets /var/www/site/views。这适用于所有用户,但鲍勃。所以我尝试了:

cd /var/www/site/views
ls -s ../assets/ assets

同样,该链接适用于所有人。

    隐藏的东西

我尝试制作DefaultRoot /var/www/site/ bob然后添加

<Directory /var/www/site/otherdir>
  <Limit ALL>
    DenyUser bob
    AllowAll
  </Limit>
</Directory>

这根本不起作用。另外,在 /var/www/site/ 下还有其他应该隐藏的文件,它们不是目录。

再说一次,我怎样才能让 bob 访问 /var/www/site/assets/var/www/site/views 但在 /var/www/site 下没有其他内容??

【问题讨论】:

检查你的问题是否在这里***.com/questions/22789064/… @Eda:实际上不是。链接的问题询问了 ssh 用户。我问的问题是关于 FTP 用户的(bob 没有对服务器的 ssh 访问权限)。 【参考方案1】:

一种解决方案是将/var/www/site/assets/var/www/site/views 设置为安装在多个位置的独立文件系统。

例如将它们安装在当前位置和/home/bob/ 下。

这最初需要一些努力,但对于您的用户来说,它可能是最简单、最安全的解决方案。

请参阅 Proftpd chroot howto 中的文件系统技巧部分。

【讨论】:

你能详细解释一下吗?

以上是关于限制对 proftpd 用户的访问的主要内容,如果未能解决你的问题,请参考以下文章

ftp_rawlist 在 ProFTPd 服务器上返回 false

PROFTPD

基于 Python + Proftpd 实现文件自动备份

Proftpd 服务器安装配置

sh 安装proftpd,创建和删除ftp用户(必须以root身份运行)

proftpd测试及mysql弱口令登录