Jer*_*ska 3 bash permissions profile .bash-logout
我严重依赖我的别名,我突然想到,我可以通过递归更改主目录及其子目录和文件(文件和目录).bashrc的权限来提高我的隐私/安全性并在某种程度上强化我的 Ubuntu 20.04 桌面)。所以我跑了:600700
sudo chmod -R 600 /home/undoxed && sudo chmod -R u+X /home/undoxed
Run Code Online (Sandbox Code Playgroud)
其中undoxed是我的管理用户的名称。递归标志也未能幸免.bash_logout,.bashrc, 和.profile。
从我之前在修改 时注意到的情况来看/etc/adduser.conf,将其设置为 DIR_MODE=0700与设置为umask, 然后添加新用户,结果将获得新用户主目录中任何文件的权限,但以下文件除外:。上述三个文件都获得了权限,而不是像我预期的那样。.bashrc0077useradd600.bash_logout .bashrc .profile644600
为什么这三个文件能够幸免呢?制作这些文件600(就像我手动使用的那样)是否chmod -R 600会使我的操作系统无法使用?与 相比,这些具有此类权限的文件是否会产生其他后果644?
到目前为止,一切似乎都很好,但sudo chmod -R 600 /home/undoxed && sudo chmod -R u+X /home/undoxed
今天跑步后我还没有重新启动,我很想这样做。
Gil*_*il' 15
TL,DR:.bash*可以是 600,但是chmod -R 600很危险。
您可以将您的主目录设置为只有您可以访问:
\nchmod 700 ~\nRun Code Online (Sandbox Code Playgroud)\n这不需要递归。如果不访问文件所在的目录,就不可能访问该文件。对于目录,这意味着如果不访问其父目录,就不可能访问该目录。因此,使目录不可访问(无x权限)会使该目录下的所有内容都不可访问。
(有一种方法可以绕过访问包含目录的需要,即已经具有访问权限:如果进程已经打开了一个文件,则该文件将保持打开状态,即使某些更改现在导致该进程无法打开文件。这里 \xe2\x80\x9copen 文件\xe2\x80\x9d 包括一个目录作为进程的工作目录。更改的内容可以是,例如,权限更改或移动到不同的目录目录,或减少其权限的进程。)
\n在某些情况下,您可能需要让其他用户或系统服务可以访问您的主目录的某些部分(例如,可以访问.plan或fingerd)。如今,当大多数人使用不运行任何公共服务的个人计算机时,这种情况并不常见。在这种情况下:~/public_htmlhttpd
chmod 711 ~chmod go= ~/* ~/.[!.]* ~/..?*非隐藏文件、除.和 之外的..*隐藏文件以及以..除自身 \xe2\x80\x94 以外的字符开头的隐藏..文件,如果这些模式之一与任何内容都不匹配,则忽略该错误)r) 访问以及x对目录的执行/遍历 ( ) 访问。这些权限允许任何本地用户检查给定名称的文件是否存在(是否ls ~jerzy/somefile失败并显示 \xe2\x80\x9cpermission returned\xe2\x80\x9d 或 \xe2\x80\x9cno such file or directory\xe2\x80\x9d )但不列出主目录中的文件。
您使用的程序(例如 bash)的配置文件不需要公开。唯一需要访问它们的进程在您的帐户上运行。如果你愿意的话也可以chmod 600 ~/.bash*。如果您的主目录无论如何都只能由您访问,则不会产生任何实际差异,但这不会有什么坏处。
如果您将 umask 设置为 077,则所有新文件将只有您可以访问。
\n别跑chmod -R 600。作为 root,这会使您的系统很难恢复,而重新安装会更容易。作为非特权用户,恢复起来更容易,但仍然很痛苦。
chmod -R 600删除目录的执行权限,对于目录,\xe2\x80\x9cexecute\xe2\x80\x9d 权限(在xchmod 中,数值中的位 1)表示访问该目录中文件的能力。\xe2\x80\x9cread\xe2\x80\x9d ( r, 4) 权限仅允许列出目录中的文件。因此chmod -R 600 ~禁止每个人,甚至您,访问您的主目录中的文件。然后chmod -R u+X ~恢复目录的执行权限,但前提是系统在此期间没有崩溃。
此外,该序列删除了所有常规文件的执行权限。一些常规文件需要执行权限。这显然包括您可能已安装在主目录中的任何独立软件以及个人脚本或其他程序。这还可以包括通常不被认为是直接可执行的文件;例如,旧版本的 Ubuntu 使用执行权限来指示某些类型的文件是受信任的,包括.desktop文件(尽管较新的版本不再使用此机制)。
该序列还使所有文件都可写。将某些文件设置为只读可能很有用,例如您希望避免意外覆盖或删除的重要文件。许多版本控制程序将某些文件设为只读,因为它们是通常不会更改的内部状态文件,或者指示用户不应直接更改它们,或者指示文件已锁定。然而,这并不重要。
\n(顺便说一句,有一些文件必须是私有的,例如 SSH 密钥。在主目录中添加非用户权限的递归 chmod 会破坏这一点,特别是可能导致无法通过 SSH 登录您的帐户。 )
\n如果您想将所有文件单独设置为私有,请不要更改适用于您的权限。
\nchmod -R go= ~\nRun Code Online (Sandbox Code Playgroud)\n