为什么许多Linux文件有其他=读取访问?

我可以运行chmod o=- -R /

我不想让一个新创build的用户能够捕获/ etc / passwd,只是因为它的默认权限。 我想了解为什么这些默认选项是为所有(最​​好的)系统文件以及其他文件的权限select的。

因为许多程序可能需要访问这些文件。 举个例子,当你做'ls -l'时,系统会查找/ etc / passwd来在数字用户名和用户名之间进行转换。 如果用户没有读取该文件的权限,这将不起作用。

更重要的是,如果您要读取每个文件的读取权限,您甚至不能再login,因为您不允许读取shell二进制文件。

为什么不留下系统文件可读?

  • 模糊不安全

    即使人们知道它的工作原理,你的系统也应该是安全的。 如果你依靠的是保密的细节来保证系统的安全,那么在破坏之前只是一个时间问题。

  • 你将如何工作?

    一般都认为你应该尽可能less的使用root帐号。 如果您必须使用root帐户进行最基本的任务,那么您最终只能使用它。

  • 系统function

    在很多情况下,如果某些重要的conf文件不能被非root用户读取,那么系统就无法工作,正如其他人用/etc/passwd例子所说明的那样。

我可以做chmod o = – -R /?

不是,如果你想实际上能够login和使用该系统。 没有什么是完美的,但大多数情况下,大多数发行版本都具有相对合理的默认权限。 其中一些可能需要根据您的情况进行更改,但应逐个文件地讨论,其中更改文件权限的影响是已知的。

密码文件可供多个标准实用程序使用,这就是为什么存在/ etc / shadow文件,而不是普通用户不可读,实际存储encryption密码的原因。

注:密码存储在不可读的文件( / etc / shadow )中,即使encryption也是如此,以避免本地用户的powershell攻击

ls命令和许多其他命令使用/ etc / password文件将用户标识转换为用户名。 不要改变它。