我正在与一位同事共享我的个人Ubuntu PC。
我用另一个密码(他当然知道)创建了另一个用户,并将其添加到sudoer
列表中。
鉴于sudo
单个Ubuntu系统中有两个用户:
这些用户中的任何一个(由所有者和权限指定)私人文件是否仍然是私人文件?
我可以通过
sudo
命令甚至偶数来修改同事的文件sudo su
吗,反之亦然?
我正在与一位同事共享我的个人Ubuntu PC。
我用另一个密码(他当然知道)创建了另一个用户,并将其添加到sudoer
列表中。
鉴于sudo
单个Ubuntu系统中有两个用户:
这些用户中的任何一个(由所有者和权限指定)私人文件是否仍然是私人文件?
我可以通过sudo
命令甚至偶数来修改同事的文件sudo su
吗,反之亦然?
Answers:
如果您的同事在sudoers列表中,则只要您愿意,他就可以成为您的根源(他也可以冒充您),然后他可以看到所有内容。
如果要保护用户隐私,这是最糟糕的设置。您应该明确阅读Linux上的用户管理如何工作。您可以从以下几篇文章开始:
即使这样,即使有人可以实际访问所讨论的计算机,也没有任何隐私权,他可以在启动时掉入根shell中,无论如何都可以看到所有内容,并且如果这是受密码保护的,他仍然可以使用USB记忆棒和以这种方式进入。
因此,在这种情况下,最好的办法是正确的用户管理,root用户的密码以及加密的驱动器和/或加密的主目录。
sudo -i
不起作用:)
一种简单的替代方法是将您的私人数据保存在一个加密文件中(可以是例如使用gpg加密的tar存档文件)。您必须记住在查看明文文件后将其覆盖并删除。
对于共享计算机和sudo(root)访问权限的所有人,另一种选择是使用加密的家庭和加密交换。
但是,如果您同时登录,这将无济于事。实际上,您必须重新启动计算机才能清除明文格式的文件,即使使用加密的主页也是如此。
通常,安全性非常困难,并且具有加密磁盘(具有加密功能的LVM)的单个用户系统将是确保事物安全的最简单方法。
ecryptfs-mount-private
LD_PRELOAD
hacks:只需创建一个简单的击键记录器,然后将其扔到某些python脚本中,即可根据键入的时间/分组以及一些文本解析进行一些模糊的K均值分割。完成。现在,您有了用户的密码短语,并且很可能可以获取他们的个人数据。
一旦你能够获得root
的权限(例如,使用sudo
,su
等等)。
您具有对系统上每个文件的完全访问权限。
因此,拥有sudo
权限并可以root
使用的两个用户都sudo bash
将拥有对系统上每个文件的完全访问权限
根据中的Q&A,SE-Security
您可能可以修改SELinux
(不是Ubuntu)以限制root
访问权限:
如果您的问题是“我现在可以轻松安全地做到这一点吗?” 答案是不。如果您的答案是“我准备学习SELinux,请精打细算我的发行版,并忍受很多无法正常工作的问题”,那么答案是,可以对root的限制远比您的平均安装多。话虽如此,但这绝不会使您无所不能被利用-不会使用户无法在软件或物理上规避这种额外的访问控制。
为了使其他答案已经完全清楚地说明:另一个用户不仅“像您一样拥有root”(Videonauth的答案),他们也可以成为您(切换到您的用户帐户)。
这是因为具有超级用户特权,您可以切换到任何帐户。
你可能知道
sudo su
如果root用户没有设置密码,这是打开root用户外壳程序的一种选择(因此您不能直接以root用户身份登录)。
su
是“切换用户”的缩写。它切换到什么用户?没有说明,对不对?但是从手册页中,我们可以了解到:
在没有用户名的情况下调用su会默认成为超级用户。
所以这实际上是
sudo su root
如果您没有重命名 root
为其他名称。
如果您只是运行su <someuser>
,系统将提示您输入密码。因此,如果您运行su root
,系统会提示您输入root的密码(默认情况下,Ubuntu中不存在该密码),因此您无法登录(请注意,未设置密码意味着无法通过以下密码登录:不同于密码为空字符串))。但是,如果运行sudo su root
,则会提示您输入自己的密码。而且只会提示您sudo
。一旦sudo
收到您的密码,运行时,它与超级用户权限参数接收到的命令。由于具有超级用户权限时可以切换到任何帐户,因此不需要密码提示。
所以通过执行
sudo su <yourusername>
,其他sudoer可以您的身份登录。
sudo su
总是默认为UID 0和GUID 0吗?如果是,那么您如何命名“ root”就无关紧要。
root
为john
,sudo su
则现在等效于sudo su john
,不再等于sudo su root
。
通过编辑sudoers文件,可以限制使用sudo特权升级可以运行的程序。/etc/sudoers
)。
有关更多详细信息,请参见超级用户对此问题的公认答案,有关Unix和Linux,请参见此处。有关限制访问权限的建议,请参见slm的答案。/etc/sudoers
。
还要man
通过输入来检查sudoers 页面,man sudoers
不要忘记对其进行测试。请记住,通过不受限制的sudo访问,用户可以完全模拟其他任何用户。例如,如果用户foo
要运行命令
sudo exec su - bar
然后,他们将能够以bar
该用户的所有权限充当用户。
如果您标记了以前的答案并不完全适用 encrypt home folder
在安装Ubuntu时进行了。这样可以保证为每个用户加密的主文件夹,即使没有该主文件夹的用户/所有者的正确密码,root也无法读取数据。您的同事将需要更改密码才能读取文件,这将引起注意。
当然,人们是对的,在计算机上共享具有宝贵或敏感数据并与同事进行根访问的机器并不是一个好主意。
根据这些数据的值,我建议您要求自己的机器。
sudo su - <username>
不需要其他用户密码的用户通常可以成功解密其他用户目录。但是我在这里可能是错误的,需要在VM中进行测试,稍后再进行测试。无论如何,在所有情况下,都有99%归结为:“如果我可以物理访问您的机器,那么您就被迫了!”。