防止其他用户以我的身份登录并查看我的文件

防止其他用户以我的身份登录并查看我的文件

我的 Ubuntu 用户帐户名为“user-3121”,类型为“管理员”。还有一个名为“sysadmin”的帐户,类型为“管理员”。我如何知道“sysadmin”是否可以以我的身份登录并查看“user-3121”中的文件?

我的 /etc/sudoers 文件包含以下内容:

Cmnd_Alias   SHELLS = /bin/sh,/bin/bash,/bin/ksh, /usr/bin/x11/passwd

Cmnd_Alias   SU = /usr/bin/su,/bin/su,/usr/bin/gksudo,/usr/bin/sudo,/usr/bin/su bash,/usr/bin/sudo /bin/bash,/usr/sbin/visudo

Cmnd_Alias   PASS = /usr/bin/passwd root,/bin/* * root,/bin/* * sysadmin,/bin/* * /home/sysadmin,/usr/bin/passwd

Cmnd_Alias      EDIT= /bin/* /etc/sudoers,/bin/* sudoers,/bin/* /etc/passwd,/bin/* passwd,/bin/* /etc/group,/bin/* group,/bin/* /etc/shadow,/bin/* shadow,/*/*/[a-z]* /etc/sudoers,/*/*/[a-z]* /etc/passwd,/*/*/[a-z]* /etc/group,/*/*/[a-z]* /etc/shadow,/*/*/[a-z]* sudoers,/*/*/[a-z]* passwd,/*/*/[a-z]* group,/*/*/[a-z]* shadow

Cmnd_Alias   CMDS = /usr/sbin/userdel * sysadmin,/usr/sbin/userdel sysadmin,/usr/sbin/deluser * sysadmin,/usr/sbin/deluser sysadmin

root    ALL=(ALL) ALL, !CMDS

%admin ALL=(ALL) ALL, !SHELLS, !SU, !CMDS, !PASS, !EDIT
%sudo  ALL=(ALL) ALL,!SHELLS, !SU, !CMDS, !PASS, !EDIT

sysadmin ALL=(ALL) ALL
administrator ALL=(ALL) ALL

为什么 /etc/sudoers 中缺少“user-3121”?如果“sysadmin”可以读取我的数据,我该如何防止这种情况发生?

PS 除了我之外没有人知道“root”(su)密码。

答案1

如果另一个用户可以 sudo(或知道您的密码,或者如果启用则可以直接以 root 身份登录),那么他们可以以您的身份登录并查看您的文件。

检查你的登录名属于哪些组,以及其他用户:

$ groups
user-3121 adm cdrom sudo dip lpadmin wireshark

$ groups other_user
...?

大多数系统使用 group sudoby 约定来启用 sudo 访问,而不是明确将用户名添加到 sudoers 文件中。Ubuntu 过去一直使用admin

如果用户在群组中sudo 或者 admin,那么他们可以运行sudo,并更改为任何用户。此外,正如您所做的那样,直接检查 sudoers 文件(通常通过运行$ visudo),并查看是否明确授予各个用户sudo权限。

笔记截至 12.04 的发行说明

  • 直到 Ubuntu 11.10,使用 sudo 工具的管理员访问权限都是通过“admin”Unix 组授予的。在 Ubuntu 12.04 中,管理员访问权限将通过“sudo”组授予。这使得 Ubuntu 与上游实现和 Debian 更加一致。出于兼容性考虑,“admin”组将继续在 12.04 中提供 sudo/管理员访问权限。

编辑:避免其他管理员 (sudo) 用户读取您的数据的一个方法是加密数据,并要求使用密码进行解密。但是,当您使用该文件时,其他用户可能能够访问它。请参阅是否有一个工具可以加密文件或目录?

相关内容