/home/<user>/ 上的权限 755

Mar*_*ter 20 permissions chmod files

我想知道为什么默认情况下我的目录的/home/<user>/权限设置为755. 这允许其他用户进入目录并读取我家中的文件。这有什么正当理由吗?

我可以700为我的主目录和所有子目录设置权限吗,例如:

chmod -R o-xw /home/<user>/ 
chmod -R g-xw /home/<user>/
Run Code Online (Sandbox Code Playgroud)

不破坏任何东西?

另外,是否可以在我的家中设置权限,以便创建的所有新文件都具有600和 目录700

Gil*_*il' 21

如果您的主目录是私有的,那么其他人就无法访问您的任何文件。为了访问文件,进程需要对从根目录开始的树下路径上的所有目录具有执行权限。例如,要允许其他用户读取/home/martin/public/readme,目录//home/home/martin并且/home/martin/public都需要有权限d??x??x??x(它可以是drwxr-xr-xdrwx--x--x或其他一些组合),以及另外的文件readme必须是公开可读(-r??r??r??)。

主目录模式为drwxr-xr-x(755) 或至少为drwx--x--x(711)是很常见的。目录的模式 711(仅执行权限)允许其他人在知道其名称的情况下访问该目录中的文件,但不能列出目录的内容。在该主目录下,根据需要创建公共和私有子目录。

如果您从不希望其他人阅读您的任何文件,您可以创建您的主目录drwx------(700)。如果这样做,则无需单独保护文件。除了其他人阅读您的文件的能力之外,这不会破坏任何其他内容。

一个常见的可能会中断的事情,因为它是其他人读取您的文件的一个实例,是如果您有一个目录,例如~/public_html~/www包含您的网页。根据 Web 服务器的配置,此目录可能需要全世界可读。

您可以通过设置.umask值来更改创建的文件的默认权限.profile。umask 是文件最大权限的补充。常见的值包括 022(只能由所有者写入,每个人都可读和可执行)、077(只能由所有者访问)和 002(类似于 022,但也是组可写的)。这些是最大权限:应用程序可以设置更严格的权限,例如大多数文件最终无法执行,因为创建它们的应用程序在创建文件时没有设置执行权限位。

  • @MartinVegter 好点。电子邮件程序在*发送*邮件时始终以您的用户身份运行,但某些系统要求以系统用户身份运行的邮件系统可以读取`.forward`。[Postfix](http://www.postfix.org/local.8.html) 但是使用私有的`.forward` 就可以了。 (2认同)

Rah*_*til 5

如果在 RHEL/CentOS 5.x 中签入,则默认权限为 700,但在 Ubuntu 中为 755。

Ubuntuforms.org 工作人员称,这是为了让新用户之间更容易共享文件。如果您不希望文件被其他人读取和执行,您可以将权限更改为 700 或 750。

另外,是否可以在我的家中设置权限,以便创建的所有新文件都具有 600 和目录 700 ?

你可以umask 0077为此设置

它会像这样工作:

对于目录的默认权限0777,所以当你设置的umask0077则新目录将创建的权限(0777-0077) ,即0700只要你想。

  • 是的...你可以检查你当前的shell,只需设置`umask 0077`并创建文件,目录并检查权限`stat filename` (2认同)