File 什么是正常的chmod?

File 什么是正常的chmod?,file,permissions,chmod,File,Permissions,Chmod,在我的web服务器上,我的文件权限到处都是,我想将所有内容“重置”回原来的状态。我不希望任何用户能够进入并删除我的web服务器上的内容!我只是希望他们能够看到php页面等 我应该使用什么chmod?它们应该尽可能严格,但不能再严格了 通常,0644是一个不错的选择,它给了所有者读写权限,但其他人只读0755。但是,它可能取决于您的特定系统设置。我认为644是文件的标准,而755是目录的标准。如果您的Web服务器只提供网页,而不允许通过匿名FTP访问,则不正确的文件权限不允许用户删除文件 如果其他

在我的web服务器上,我的文件权限到处都是,我想将所有内容“重置”回原来的状态。我不希望任何用户能够进入并删除我的web服务器上的内容!我只是希望他们能够看到php页面等


我应该使用什么chmod?

它们应该尽可能严格,但不能再严格了


通常,
0644
是一个不错的选择,它给了所有者读写权限,但其他人只读<目录的代码>0755。但是,它可能取决于您的特定系统设置。

我认为
644
是文件的标准,而
755
是目录的标准。

如果您的Web服务器只提供网页,而不允许通过匿名FTP访问,则不正确的文件权限不允许用户删除文件

如果其他人可以通过其他方式(如SSH)访问您的服务器,请确保未为您以外的用户设置写入位。执行:

find . -exec chmod go-w {} \;

此命令将限制执行此命令的所有文件和目录的权限。

如果要重置所有内容,请执行此命令并解决后果。通常644是一个很好的文件权限,711是目录权限。如果允许目录列表,则使用755

$ find /var/www/html \( -type f -execdir chmod 644 {} \; \) \
                  -o \( -type d -execdir chmod 711 {} \; \)
如果您想要一些侵入性较小的内容,那么只需删除group和“other”的写入位即可


无论您使用哪种方法,如果您的web应用程序可能依赖具有特定权限的文件或目录,请确保进行彻底的测试。虽然允许过于宽松的权限可能是一种糟糕的设计,但有时确实会发生这种情况,因此您可能会破坏应用程序。

以下是我收集的一个摘要

  • chmod所有文件644
  • chmod all.htaccess文件到644
  • chmod allrobots.txt文件到644
  • chmod所有目录711
  • chmod所有目录目录列表(.htaccess选项+索引)到755
  • chmod所有目录,用户可以将文件上传到755(例如:/uploads/)
说明:

  • 644表示:
    • 6:文件/目录的所有者可以读取写入,但不能执行。因为文件不是可执行文件,所以您不需要在这里拥有“x”权限(6表示r+w。7表示r+w+x)
    • 44:文件/目录所属的(使用
      ls-l
      查看组)和其他所有人(公众)都能够读取该文件,但不能执行或写入该文件(权限号4)
  • 711表示:
    • 7:文件/目录的所有者可以读取、写入和执行。这是需要的目录!如果在尝试列出目录时没有“执行”,则权限将被拒绝
    • 11:文件/目录所属的公共仅具有执行权限。这适用于您不希望其他人浏览内容,但希望让他们访问目录下选定文件的目录
  • 755表示:
    • 7:文件/目录的所有者可以读取、写入和执行
    • 55:文件/目录所属的,以及公共具有读取执行权限,但不具有写入权限。这允许用户能够查看目录中的文件,并能够读取这些文件,但不能更改它们

还有一个交互式在线计算器,您可以使用它来计算要使用的权限:

谢谢您的回答,匿名FTP是不允许的,但我不确定人们是否可以在没有它的情况下直接进入并删除页面。Id 644将用于问题中提到的PHP页面,或者他们是否也需要设置可执行位?它可能取决于web服务器及其配置方式吗?不,除非您正在做一些非常疯狂的事情,否则您不需要为PHP页面设置可执行位。可执行位允许执行二进制文件,PHP源代码不是可执行二进制文件。chmod只是关于系统本地用户,但是webserver使用它来检查“其他”是否具有读取(文件)或执行(cgi)的权限(如果没有),Web服务器将返回403禁止。是,这对于非超级用户shell用户和他们自己在/home下的目录是正确的。
$ chmod -R go-w /var/www/html