以下是我的主目录中文件的权限:
664 -rw-rw-r-- bob:bob .bash_aliases
600 -rw------- bob:bob .bash_history
664 -rw-rw-r-- bob:bob .bash_login
644 -rw-r--r-- bob:bob .bash_logout
664 -rw-rw-r-- bob:bob .bash_profile
644 -rw-r--r-- bob:bob .bashrc
700 drwx------ bob:bob .cache
644 -rw-r--r-- bob:bob .cloud-locale-test.skip
700 drwx------ bob:bob .gnupg
400 -r-------- bob:bob .google_authenticator
644 -rw-r--r-- bob:bob .profile
700 drwx------ bob:bob .ssh
644 -rw-r--r-- bob:bob .sudo_as_admin_successful
600 -rw------- bob:bob .viminfo
664 -rw-rw-r-- bob:bob .vimrc
以下是我想要更改的内容,因为我已测试了这些权限并且它们似乎不会造成任何损害:
440 -r--r----- root:bob .bash_aliases
600 -rw------- bob:bob .bash_history
440 -r--r----- root:bob .bash_login
644 -rw-r--r-- bob:bob .bash_logout
440 -r--r----- root:bob .bash_profile
440 -r--r----- root:bob .bashrc
700 drwx------ bob:bob .cache
644 -rw-r--r-- bob:bob .cloud-locale-test.skip
700 drwx------ bob:bob .gnupg
400 -r-------- bob:bob .google_authenticator
440 -r--r----- root:bob .profile
700 drwx------ bob:bob .ssh
644 -rw-r--r-- bob:bob .sudo_as_admin_successful
600 -rw------- bob:bob .viminfo
440 -r--r----- root:bob .vimrc
简而言之,我将 .profile、.bashrc、.bash_profile、.bash_login、.bash_aliases 和 .vimrc 的用户所有权更改为 root,并将权限更改为只有 root 和 bob 可以读取这些文件。
我正在尝试做的事情: 我以这种方式设置权限,以便如果我离开办公桌一会儿,不良行为者就需要我的 sudo 用户密码才能更改、添加或删除这些点文件中的任何内容。
我的顾虑/疑问: 是否有人知道实际或极端情况下升级系统或安装软件包会导致错误,因为这些 .dot 文件无法由 sudo 用户 bob 写入?据我所知,我从未见过导致这些点文件发生变化的软件包安装或升级(这并不是说它没有发生过,我错过了)。特别是,我担心的是 .profile 和 .bashrc。其他文件甚至在全新安装的 Ubuntu 16.04 或 18.04 上都不存在。
我想要做的事情也可能会产生与包管理无关的负面影响,尽管我一生都想不出任何其他强化 .bashrc 和 .profile 权限会导致问题的场景。
答案1
... 恶意行为者需要我的 sudo 用户密码才能更改、添加或删除这些点文件中的任何内容。
错误。如果您的主目录可由您写入(很可能是,并且您可能希望保持这种状态),则任何可以以您的用户身份运行命令的人都可以删除或重命名它们,并在其位置创建文件。
不过,可以通过使其不可变来解决这个问题。
也就是说,来自官方存储库的软件包不允许直接干扰用户主目录。从这一点上来说,您是安全的。如果您从其他地方下载随机 deb,他们可能会或可能不会对您的主目录做出假设 - 这很难说。