Devrim Asked: 2009-09-12 07:33:06 +0800 CST2009-09-12 07:33:06 +0800 CST 2009-09-12 07:33:06 +0800 CST 为什么许多 linux 文件都有其他=读取权限? 772 我可以跑chmod o=- -R /吗? 我不希望新创建的用户能够 cat /etc/passwd,只是因为它的默认权限。而且我想了解为什么为所有(以及大多数)系统文件以及其他文件的权限选择这些默认值。 permissions 4 个回答 Voted Best Answer Sven 2009-09-12T07:38:38+08:002009-09-12T07:38:38+08:00 因为许多程序可能需要访问这些文件。例如,每当您执行“ls -l”时,系统将查找 /etc/passwd 以在数字 uid 和用户名之间进行转换。如果用户没有读取该文件的任何权限,这将不起作用。 更重要的是,如果您对每个文件都拥有读取权限,您甚至无法再登录,因为您不被允许读取 shell 二进制文件。 theotherreceive 2009-09-12T07:58:25+08:002009-09-12T07:58:25+08:00 为什么不让系统文件可读? 默默无闻不是安全 即使人们知道它是如何工作的,您的系统也应该同样安全。如果您依靠保密的细节来保证您的系统安全,那么它被破坏只是时间问题。 你将如何工作? 通常认为您应该尽可能少地使用 root 帐户。如果您必须使用 root 帐户来完成最基本的任务,那么您最终只会一直使用它。 系统功能 在许多情况下,如果某些重要的 conf 文件不能被非 root 用户读取,系统将无法运行,正如其他人在示例中所说明的那样/etc/passwd。 我可以做 chmod o=- -R / 吗? 如果您希望真正能够登录和使用系统,则不是。没有什么是完美的,但在大多数情况下,大多数发行版都有相对合理的默认权限。其中一些可能需要根据您的情况进行更改,但应逐个文件讨论,其中更改文件权限的影响是已知的。 drAlberT 2009-09-12T07:37:52+08:002009-09-12T07:37:52+08:00 许多标准实用程序都可以读取密码文件,这就是为什么存在/etc/shadow文件的原因,而普通用户无法读取该文件,并且实际上存储了加密的密码。 注意:即使加密,密码也会存储在不可读的文件 ( /etc/shadow ) 中,以避免本地用户的暴力攻击。 Chris Nava 2009-09-12T08:04:26+08:002009-09-12T08:04:26+08:00 ls 命令和许多其他命令使用 /etc/password 文件将用户 ID 转换为用户名。不要改变它。
因为许多程序可能需要访问这些文件。例如,每当您执行“ls -l”时,系统将查找 /etc/passwd 以在数字 uid 和用户名之间进行转换。如果用户没有读取该文件的任何权限,这将不起作用。
更重要的是,如果您对每个文件都拥有读取权限,您甚至无法再登录,因为您不被允许读取 shell 二进制文件。
为什么不让系统文件可读?
默默无闻不是安全
即使人们知道它是如何工作的,您的系统也应该同样安全。如果您依靠保密的细节来保证您的系统安全,那么它被破坏只是时间问题。
你将如何工作?
通常认为您应该尽可能少地使用 root 帐户。如果您必须使用 root 帐户来完成最基本的任务,那么您最终只会一直使用它。
系统功能
在许多情况下,如果某些重要的 conf 文件不能被非 root 用户读取,系统将无法运行,正如其他人在示例中所说明的那样
/etc/passwd
。如果您希望真正能够登录和使用系统,则不是。没有什么是完美的,但在大多数情况下,大多数发行版都有相对合理的默认权限。其中一些可能需要根据您的情况进行更改,但应逐个文件讨论,其中更改文件权限的影响是已知的。
许多标准实用程序都可以读取密码文件,这就是为什么存在/etc/shadow文件的原因,而普通用户无法读取该文件,并且实际上存储了加密的密码。
注意:即使加密,密码也会存储在不可读的文件 ( /etc/shadow ) 中,以避免本地用户的暴力攻击。
ls 命令和许多其他命令使用 /etc/password 文件将用户 ID 转换为用户名。不要改变它。