V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Distributions
Ubuntu
Fedora
CentOS
中文资源站
网易开源镜像站
dzdh
V2EX  ›  Linux

关于权限的问题 迷惑了

  •  
  •   dzdh · 2022-09-27 18:56:59 +08:00 · 1679 次点击
    这是一个创建于 548 天前的主题,其中的信息可能已经有所发展或是发生改变。

    现在有个 PHP 项目在目录 /opt/www/public

    www 是项目根目录

    权限是这样的:

    • 600 www-data:www-data /opt
    • 600 www-data:www-data /opt/www
    • 600 www-data:www-data /opt/www/public

    为何 以 www-data 身份 stat /opt/www/public/index.php 会提示没有权限。ls 的权限也没。

    给 /opt/www 设为 700 则可以 ls /opt/www/public 但是依旧不能 stat

    执行位 影响 进入目录。

    那打包容器的时候就只能 COPY --chmod=0600 --chown...

    然后再执行个 RUN find /x -type d -exec chmod 700 {} ; 么?

    不能再 COPY 的时候指定文件是 600 ,目录是 700 么

    4 条回复    2022-09-28 11:21:57 +08:00
    Jooooooooo
        1
    Jooooooooo  
       2022-09-27 19:00:13 +08:00
    -r 一下
    dzdh
        2
    dzdh  
    OP
       2022-09-27 19:02:53 +08:00
    @Jooooooooo -r 没看出来有啥区别
    iBugOne
        3
    iBugOne  
       2022-09-27 19:02:56 +08:00 via Android
    stat 一个文件需要所在目录的 x 权限,Unix 就是这么设定的。目录的权限和文件的权限不太一样:

    目录的 r 权限允许列出里面所有内容的文件名,没错仅限文件名
    目录的 w 权限允许创建删除重命名等写入操作
    目录的 x 权限允许 chdir 进去,以及 stat 里面的内容

    所以目录很少有 4 或者 6 这种带 r 不带 x 的权限,一般都是 7/5/0 ,比如 755 (常见)、750 (日志等敏感信息)、700 (私人目录)
    julyclyde
        4
    julyclyde  
       2022-09-28 11:21:57 +08:00
    @iBugOne
    “仅限文件名”是因为,文件名是目录的“内容”,而不是文件的名字
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   1024 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 19:21 · PVG 03:21 · LAX 12:21 · JFK 15:21
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.