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
    • 最新
    • 标签
主页 / ubuntu / 问题 / 988941
Accepted
SaidbakR
SaidbakR
Asked: 2017-12-24 06:02:49 +0800 CST2017-12-24 06:02:49 +0800 CST 2017-12-24 06:02:49 +0800 CST

在当前 Web 服务器文档根权限中创建符号链接

  • 772

我有静态资源(mp3 和图像),我想在 Apache 虚拟主机上托管的网站中使用这些资源,配置如下:

<VirtualHost *:80>
ServerName example.com
    serverAlias myexample.loc   
    DocumentRoot /home/USER/www/yii2/web
    <Directory "/home/USER/www/yii2/web">
        AllowOverride All
        Options Indexes FollowSymLinks MultiViews
        Require all granted
    </Directory>
</VirtualHost>

这些资源位于闪存上的路径中,如下所示:

/media/USER/KINGSTON/audio

我在站点的文档根目录中为上述目录创建了一个符号链接,ls -s如下所示:

sudo ln -s /media/USER/KINGSTON/audio /home/USER/www/yii2/web 

但是,尝试访问任何资源都会导致403 Forbidden错误。我怎样才能提供允许 www-data 用户访问它的安全权限?

permissions
  • 1 1 个回答
  • 3030 Views

1 个回答

  • Voted
  1. Best Answer
    vidarlo
    2017-12-25T05:31:06+08:002017-12-25T05:31:06+08:00

    目录的权限是什么/media/USER/KINGSTON/audio?请记住,Apache 在它遍历的目录上需要 +x。

    因此/media/,/media/USER,/media/USER/KINGSTON/和/media/USER/KINGSTON/audio需要为 world 加上 +x 才能使 www-data 能够访问它。sudo chmod +x /path对于上面的每个目录,这可以通过, 来完成。如果 KINGSTON 设备不是unix 文件系统,您可能会遇到挑战,因为它没有传统的 Unix ACL。

    此外,如果它是永久解决方案,我可能会将其添加为正常的挂载点。有关如何做到这一点,请查看此问答

    作为一个简短的示例 - 请注意,# 作为提示符表示以 root 身份运行的命令,$ 表示普通用户。

    /tmp # mkdir foo
    /tmp # chmod 754 foo
    /tmp # cd foo
    /tmp/foo # mkdir bar
    /tmp/foo # chmod 755 bar
    /tmp/foo # ls -la
    total 20
    drwxr-xr--  3 root root  4096 Dec 24 14:24 .
    drwxrwxrwt 57 root root 12288 Dec 24 14:23 ..
    drwxr-xr-x  2 root root  4096 Dec 24 14:24 bar
    # Note that the directory bar has read and execute permissions for everyone, but /tmp/foo has only read for others than group and user.
    /tmp/foo # echo "foo" > bar/foo 
    $ cd /tmp/foo/bar
    bash: cd: /tmp/foo/bar: Permission denied
    $ cat /tmp/foo/bar/foo
    cat: /tmp/foo/bar/foo: Permission denied
    /tmp/foo # chmod +x . #Add execute permission for world to /tmp/foo
    $ cat /tmp/foo/bar/foo
    foo
    
    • 0

相关问题

  • 访问启用的虚拟主机时出现 403 禁止错误

  • WINE 用户配置

  • 无法更新雷鸟

  • Ubuntu 在什么许可证下?可以合法修改和分发吗?

  • 文件权限如何工作?文件权限用户和组

Sidebar

Stats

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

    如何运行 .sh 脚本?

    • 16 个回答
  • Marko Smith

    如何安装 .tar.gz(或 .tar.bz2)文件?

    • 14 个回答
  • Marko Smith

    如何列出所有已安装的软件包

    • 24 个回答
  • Marko Smith

    无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗?

    • 25 个回答
  • Martin Hope
    Flimm 如何在没有 sudo 的情况下使用 docker? 2014-06-07 00:17:43 +0800 CST
  • Martin Hope
    Ivan 如何列出所有已安装的软件包 2010-12-17 18:08:49 +0800 CST
  • Martin Hope
    La Ode Adam Saputra 无法锁定管理目录 (/var/lib/dpkg/) 是另一个进程在使用它吗? 2010-11-30 18:12:48 +0800 CST
  • Martin Hope
    David Barry 如何从命令行确定目录(文件夹)的总大小? 2010-08-06 10:20:23 +0800 CST
  • Martin Hope
    jfoucher “以下软件包已被保留:”为什么以及如何解决? 2010-08-01 13:59:22 +0800 CST
  • Martin Hope
    David Ashford 如何删除 PPA? 2010-07-30 01:09:42 +0800 CST

热门标签

10.10 10.04 gnome networking server command-line package-management software-recommendation sound xorg

Explore

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

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve