为什么要设置如此宽松的权限呢?
umask 027
除非您在shell中,否则您需要重新登录以应用这些更改。在这种情况下,您可以在shell中运行umask 027
。
现在要修复现有的权限问题,您需要从其他用户中删除读/写/执行权限:
chmod -R o-rwx ~
chmod -R o+rX ~/Public
x
权限,而不是 r
。它建议在公共文件夹中使所有文件和目录可读取。只要其他目录(如 ~/Documents
)的权限被正确限制(如 750),它们将保持私密。 - Lekensteyn$HOME
中所有文件的权限时要小心,否则ssh将无法工作,直到您为$HOME/.ssh
修复权限。
例如,私钥文件需要chmod 600
。 - crsUbuntu 21.04及更高版本具有安全的默认设置,请参考此博客文章(存档链接),评论部分由stackprotector
链接:
对于新安装的Ubuntu 21.04,或在已升级到Ubuntu 21.04的机器上创建的用户,默认情况下其家目录将是私有的。
然而,该文章暗示在Ubuntu < 21.04上创建的用户将不会被自动修复,即使应用了安全更新或升级到Ubuntu 21.04或更高版本之后。这些用户可以通过以下命令手动进行修复,命令来自该文章。
要修复所有现有用户:
sudo chmod 750 /home/*
sudo sed -i s/DIR_MODE=0755/DIR_MODE=0750/ /etc/adduser.conf
echo "HOME_MODE 0750" | sudo tee -a /etc/login.defs
对于Ubuntu < 21.04:
根据Canonical的创始人兼首席执行官Mark Shuttleworth所说,
"大多数使用Ubuntu系统的用户要么独占使用机器(个人笔记本电脑),要么与朋友和亲戚共享。我们假设共享机器的人要么是信任的,要么有能力轻松地对机器进行黑客攻击(从USB启动!)。因此,删除这些权限几乎没有好处"
...从中移除这些权限。
根据一个Ubuntuforms.org工作人员的说法,这样做可以更方便地在新用户之间共享文件。
如果您不希望其他人能够读取和执行文件,您可以将权限更改为700或750。
命令如下:
chmod 750 $HOME
既然你对隐私感兴趣(根据应用的标签来判断),那么仅仅设置权限可能是不够的(参见ignis's answer)。答案可能是类似于加密主目录的解决方案。这个解决方案专门针对其他用户攻击计算机的情况设计。当然,它无法阻止其他用户损坏你的文件(只需删除~/.Private
目录即可擦除所有文件),但他们将无法挂载该目录并查看文件,除非知道你的密码。
最简单的方法是在安装过程中,有一个复选框,上面写着“加密你的主目录”,你需要选择它。
由于重新安装仅仅为了这个目的不太可能(而且因为它仍然带有重新安装所带来的所有风险),你可以采取以下步骤:
sudo apt-get install encryptfs-utils
encryptfs-migrate-home