0

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

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

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

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

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

我怎样才能让 bob 也可以访问/var/www/site/assets??

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

  1. 链接

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

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

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

  1. 隐藏东西

我试着做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

4

1 回答 1

0

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

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

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

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

于 2014-11-18T21:49:56.950 回答