关于权限的问题 迷惑了

讨论 未结 3 35
dzdh
dzdh 会员 2022年9月27日 11:17 发表
<p>现在有个 PHP 项目在目录 <code>/opt/www/public</code></p> <p>www 是项目根目录</p> <p>权限是这样的:</p> <ul> <li>600 www-data:www-data /opt</li> <li>600 www-data:www-data /opt/www</li> <li>600 www-data:www-data /opt/www/public</li> </ul> <p>为何 以 www-data 身份 stat /opt/www/public/index.php 会提示没有权限。ls 的权限也没。</p> <p>给 /opt/www 设为 700 则可以 ls /opt/www/public 但是依旧不能 stat</p> <p>执行位 影响 进入目录。</p> <p>那打包容器的时候就只能 COPY --chmod=0600 --chown...</p> <p>然后再执行个 RUN find /x -type d -exec chmod 700 {} ; 么?</p> <p>不能再 COPY 的时候指定文件是 600 ,目录是 700 么</p>
收藏(0)  分享
相关标签: 灌水交流
注意:本文归作者所有,未经作者允许,不得转载
3个回复
  • dzdh
    dzdh 会员 (楼主)
    2022年9月27日 11:17
    -r 没看出来有啥区别
    0 0
  • iBugOne
    2022年9月27日 11:17
    stat 一个文件需要所在目录的 x 权限,Unix 就是这么设定的。目录的权限和文件的权限不太一样: 目录的 r 权限允许列出里面所有内容的文件名,没错仅限文件名 目录的 w 权限允许创建删除重命名等写入操作 目录的 x 权限允许 chdir 进去,以及 stat 里面的内容 所以目录很少有 4 或者 6 这种带 r 不带 x 的权限,一般都是 7/5/0 ,比如 755 (常见)、750 (日志等敏感信息)、700 (私人目录)
    0 0