限制用户帐户和应用程序的权限以确保安全,保护主目录内容免遭意外

限制用户帐户和应用程序的权限以确保安全,保护主目录内容免遭意外

最近,我与 filezilla 发生了一次严重的事故,这实际上花了我几天的时间来修复。在使用 Linux Mint(Ubuntu 内核)的两年时间里,这是我第三次成功杀死系统,每次都学到了一些东西。硬件尚未造成问题,更多的是人为错误/无知。这一次,它也杀死了位于机箱中物理上独立的硬盘驱动器上的 Windows 7。事故发生时,我已经安装了 Windows 驱动器来访问文件,并且它一定以某种方式严重破坏了其中的某些内容。

所以是的,我只是想更新一个网站,然后在左侧面板中看到所有这些东西,然后filezilla按删除键将其删除,以为这只是我上次更新网站时的一些旧文件夹,而它是整个网站文件系统!所以一切都冻结了,用来xkill关闭它并在接下来的几个小时内ext4magic恢复一些在某种程度上起作用的文件,但不幸的是 Linux 和 Windows 都需要重新安装。现在至少能够将 Linux 放在更大的驱动器上,但不希望这种情况再次发生。

到底为什么像 Filezilla 这样用于在服务器之间移动文件的程序需要拥有摧毁计算机的能力?!

所以一直想设置一些安全措施。从 GUI 创建了另一个名为“admin_acc”的用户帐户,并剥夺了我的用户帐户管理员权限。我的用户帐户仍然是 的成员adm cdrom dip plugdev lpadmin sambashare。为了安全考虑太多了吗?

已安装安全管理。尽管该命令cat /etc/safe-rm.conf列出了所有 25 个受保护的文件夹,包括//home,但本应存在的用户特定黑名单~/.safe-rm并不存在!我必须自己创建它吗?从 Mint 安装程序安装了 safe-rm,想知道它是否是完整版本。我希望在该自定义列表中包含主目录的所有主文件夹和隐藏文件夹。

我担心这还不够。显然safe-rm只是放置了一个包装器rm,完整的路径/bin/rm仍然像往常一样运行。谁知道 filezilla 或其他程序将在后台执行什么命令?

可以看到应用程序和用户可以按照以下方式属于组邮政。目标是除了超级用户之外,没有任何人可以删除任何文件夹或隐藏在 /home 或 /home/Documents 或 /home/pictures 等之外再次......实现这一目标的最佳方法是什么,需要采取多少种不同的措施?仅仅剥夺 filezilla 的电源是没有用的,需要确保没有其他应用程序会像武器一样坐在那里等待有人不小心扣动扳机。

非常感谢这里的一些专家指导,这样我的全新、干净的安装现在就可以和平运行很长一段时间了。

答案1

请勿以 root 用户身份使用 FileZilla 或以 root 用户身份进行连接。普通用户通常无法执行您所描述的操作(没有 sudo 或 su 或真正被误导的 sudoers 配置(例如 NOPASSWD))。您需要了解也有两个方面。假设您是 host1 上的普通用户并使用 FileZilla 连接到 host2,如果您以 root 用户身份连接,您仍然可以销毁 host2。

只要您以普通用户身份运行程序并以普通用户身份连接到其他主机,通常就不会对该用户的主目录之外造成太大损害。如果您的网站文件位于其他位置(例如,/var/www),那么您可以递归地 chown 这些文件或更合适的方式,将普通用户添加到可以读/写这些文件的组中(例如,www-data )。

用户权限的概念实际上非常简单,但解释起来却很复杂。我建议每天花几个小时到一天的时间来研究这个主题,以获得基本的了解,了解 4-2-1 规则等。

另外,正如您自己所说,您不知道 FileZilla 会做什么...您可能需要考虑使用更基本的工具,例如sshsftp。学习这些东西是值得的,而且你也有更多的能力来限制自己(例如,使用别名rmtorm -i可能对你有好处)。

PS 我怀疑 filezilla 是否真的杀死了你的 Windows 分区,因为听起来像是rm -rf /.相反,它可能取出了引导加载程序。

答案2

目标是除了超级用户之外,没有其他人可以删除 /home 之外的任何文件夹或隐藏文件

这已经是事实了,/默认情况下只有 root 可以直接在里面编辑内容。默认情况下,您的用户应该只能修改主目录和 /tmp (以及其他一些非关键位置)内的内容。

攻击整个文件系统的唯一方法filezilla是它具有对整个文件系统的写访问权限。在我看来,你正在以 root 身份运行它,或者如果它是一个远程系统,你就以 root 身份连接到它。如果您以 root 身份运行/登录,则您无能为力来保护自己,这就是通常不鼓励这样做的原因。

请非常小心以 root 身份运行的内容 - 例如使用sudokdesugtksu、运行内容su- 默认情况下它们都会授予应用程序 root 权限。仅使用实际需要的工具来运行某些内容,而不是作为“权限被拒绝”或其他错误的反射。

最重要的是,这是备份方面的一课 - 您应该掌握一些。我发现一次性使用所有系统要容易得多,我可以丢失其中任何一个系统而不必担心丢失数据,我失去的只是再次设置它们的时间。这不仅可以保护您免受错误的影响,还可以防止硬件故障和硬件丢失/被盗。

最简单的方法是使用定期备份的外部硬盘驱动器或使用 Dropbox 之类的工具。

除了适当的备份系统之外,您还可以使用某些文件系统的快照功能(例如BTFS/zfs)或LLVM为了保留系统快照,您可以在再次执行类似操作时进行恢复 - 但它们不是完整备份解决方案,只是允许在出现某些故障时更快地恢复。

相关内容