一堆文件有777权限

一堆文件有777权限

我一直在学习Python和Bash脚本,到目前为止我已经给我的脚本授予了777权限。了解了有关如何设置权限的更多信息并知道这是一个坏主意后,我运行了以下命令(在 Mac OSX,v10.6.8 上):

find / -type f -perm 0777

我本以为只会得到一小部分已分配 777 权限的文件列表,但结果却得到了一个巨大的列表。 (确切地说是 1,503 个。)其中包括我的少量脚本,以及我的所有图像文件、html 和 css 文件、电子书附带的示例代码,以及与 Adob​​e Flash Catalyst、Smith 等应用程序相关的文件Micro Anime Studio,称为 Microsoft Play Ready 的东西(我认为这是 Silverlight 的一部分),等等。

我对此有点陌生,但这不是一个问题吗?任何文件都应该有 777 权限吗?

答案1

给文件777权限确实不正常。我想不出任何文件拥有此类权限的合法理由,但如果存在,最好有一个非常非常好的理由。

我建议您立即更改这些权限。

  • 至少,删除其他人的写权限,chmod -R o-w
  • 您很可能还想删除该组的写权限,使用chmod -R g-w
  • 就我个人而言,我真的不喜欢看到带有可执行位的图像/音频/视频/文档文件。我也会删除那些,比如find /path -name '*.png' -exec chmod a-x {} \;

以后要多加小心。安全性 101 不授予超出实际需要的权限。例如,您可以首先将所有文件0400和所有目录设置为0500,然后查看哪些内容不起作用,并逐渐添加最低限度的权限。

umask你的系统的输出是什么?如果它比0022那时更宽松,我认为您可能需要添加~/.bashrc命令umask 0022。默认情况下,这会导致您创建的新文件不具有组和其他人的写入权限。

答案2

权限 777 并不是所有文件都必需的。

权限为: rwxrwxrwx ,分为三组“rwx”,第一组为所有者用户,第二组为所有者组,第三组为其他组。

777 是 111 111 111 的二进制,因此: 777 -> rwxrwxrwx

另一个例子:760 ->rwxrw----

如果文件不可执行,则无需授予其执行权限,就像电子书一样。

如果你有一个像 bash 脚本这样的可执行程序,并且你不想让其他人执行该脚本,那么第三部分的第三个数字必须为零,我的意思是:??? ??? ??0

例如,您想让其他人读取您的脚本,但您不让他们编写或执行它,因此权限将是:??? ??? r-- =>??4

相关内容