我刚刚启动了一个 ec2 服务器并将所有的 php 代码放在服务器上,我需要更改权限,以便用户无法访问该站点http:example.com/admin
并查看 php 文件列表....我需要更改整个文件夹或每个文件的权限吗?或者是否有一个-R
可以工作的递归命令...我认为它们目前都是 777...这很糟糕
答案1
如果你正在使用 Apache,那么隐藏不被列出的内容通常是在 .htaccess 或Apache 配置,不具有文件系统权限。
答案2
为了防止人们看到目录中有哪些文件,使用 apache,你只需要在相应的目录中关闭“索引”目录指令。您还可以使用 .htaccess 文件覆盖默认值,但对于生产服务器,默认值应该是无索引。
对于文件权限,我建议将几乎所有权限都改为只读,或者必要时改为读取和执行(544 或 554)。保留不需要写入的文件的写入权限只会带来麻烦。
答案3
您需要在 .htaccess 文件中设置规则并设置目录权限。最后一个由 chmod -R 700 执行,这是递归更改模式,使其仅由所有者(您)可读、可写和可执行
答案4
为了快速更改目录树中所有文件的权限(是的,777 是一个非常糟糕的权限级别),你需要一个这样的命令
find ./ -exec chmod go-w {} \;
这将递归遍历该子目录中的所有文件和文件夹,并删除非所有者的写访问权限。
您可能还想使用
find ./ -type f -exec chmod -x {} \;
从所有非目录中删除可执行位。Apache 不需要它们来运行 php 脚本。