AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / server / 问题 / 539371
Accepted
andrewtweber
andrewtweber
Asked: 2013-09-17 11:29:16 +0800 CST2013-09-17 11:29:16 +0800 CST 2013-09-17 11:29:16 +0800 CST

如何阻止用户访问而不是http?

  • 772

我的网络文件位于/var/www/html/example.com/web/

权限是:

drwxr-xr-x 20 root   root  4096 Aug 13 18:22 var
... same for www and html ...
drwxr-xr-x 4  root   root  4096 Aug 13 18:22 example.com
drwxr-xr-x 10 apache root  4096 Aug 13 18:22 web

我有一个 FTP 用户“ftpuser”,但我不希望他们能够访问其中的任何文件/var/www/html/

但是,如果我尝试chmod o-rx使用任何父级文件夹,它会给出 403 Forbidden 错误,即使用户 Apache 在 web 上仍然具有 RX 权限。

如何阻止 ftpuser 更改到这些目录并读取文件,而不阻止通过浏览器访问的用户访问?

注意- 奇怪的是我有另一个类似的服务器设置,我只是chmod o-rx在 example.com 文件夹中进行了设置,并且所有内容都可以通过网络访问。

apache-2.2
  • 2 2 个回答
  • 136 Views

2 个回答

  • Voted
  1. n00b
    2013-09-17T12:13:01+08:002013-09-17T12:13:01+08:00

    你有几个选择,但我要做的是安装 suPHP,如果我假设你使用的是 Apache 是正确的;如果没有,我希望我的回答能让你走上正确的道路。

    它允许您以非 Web 服务器用户的身份运行 PHP 脚本。然后,您可以告诉 FTP 服务器将用户锁定在他们的 $HOME 中,并将 DocumentRoot 移动到 ftpuser 的主文件夹中。您没有提到您使用的是哪个 Linux 发行版,但这里是在 Ubuntu 中安装的指南,这里是 CentOS 6的指南。

    其他选项涉及弄乱 ftpuser 的主文件夹位置,出于标准化原因,我会避免它 - suPHP 将完美地完成这项工作,并且不会过度弄乱您的系统配置。

    使用 suPHP 唯一需要注意的是权限必须 100% 正确,否则您将收到服务器错误。我还不能发布超过 2 个链接,所以只需谷歌“修复 suphp 权限”并选择“piyecarane.wordpress.com”页面(目前我的第一个链接)。

    • 1
  2. Best Answer
    Daniel Widrick
    2013-09-17T12:29:38+08:002013-09-17T12:29:38+08:00

    只需设置网络服务器(apache,www,www-data,无论您的发行版中的所有者是什么)

    chown -R apache:root /var/www/html
    chmod -R o-rwx /var/www/html/
    

    (这些命令应该完全符合您的要求。我不相信这是您想要的,因为它拒绝 ftpuser 对任何文件的任何访问,即使是与公共服务远程相关的任何文件......

    如果您希望 ftp 用户可以访问:/var/www/html/example.com/web/然后运行上述命令,然后运行以下命令:

    chown -R ftpuser:apache /var/www/html/example.com/web/
    chmod -R g+rx /var/www/html/example.com/web/
    

    这些不是完美的权限,但它们应该接近完成工作。(并且您可能必须在以下所有父目录上授予 ftpuser rx:/var/www/html/example.com/web/

    这个问题可能更适合超级用户或 linux


    根据您发布的权限,我猜您只需要访问chown -R apache:root该example.com/目录,然后就chmod o-rx可以剥夺除网络服务器(和根)以外的所有人的访问权限。您的最终选择涉及扩展属性(如 ntfs 权限)。

    • 1

相关问题

  • Apache Django Mod_Wsgi - 自动重新加载应用程序

  • Apache:对多个虚拟主机使用相同的目录指令

  • Apache 上的子域不工作 - 找不到服务器

  • PHP 作为 CGI 还是 Apache 模块?

  • 避免将某些丢失的文件记录到 Apache2 错误日志中

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    新安装后 postgres 的默认超级用户用户名/密码是什么?

    • 5 个回答
  • Marko Smith

    SFTP 使用什么端口?

    • 6 个回答
  • Marko Smith

    命令行列出 Windows Active Directory 组中的用户?

    • 9 个回答
  • Marko Smith

    什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同?

    • 3 个回答
  • Marko Smith

    如何确定bash变量是否为空?

    • 15 个回答
  • Martin Hope
    Tom Feiner 如何按大小对 du -h 输出进行排序 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich 什么是 Pem 文件,它与其他 OpenSSL 生成的密钥文件格式有何不同? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent 如何确定bash变量是否为空? 2009-05-13 09:54:48 +0800 CST
  • Martin Hope
    cletus 您如何找到在 Windows 中打开文件的进程? 2009-05-01 16:47:16 +0800 CST

热门标签

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve