我想知道如何更改我的用户名根帐户从 root 到坐标。
另外,我想知道如何在启动时从 grub 选项中删除启动到救援模式的选项。
答案1
为了保护您的机器免受不必要的 root 访问,我们可以禁用发现 root 终端Grub2取消注释以下行/etc/default/grub
:
GRUB_DISABLE_RECOVERY="true"
笔记:为了避免在启动时通过编辑 GRUB2 条目而出现安全问题,我们可能还需要通过设置GRUB_HIDDEN_TIMEOUT=0
和启用来限制对 Grub 启动菜单的访问OS_PROBER
,以防止调用脚本/etc/grub.d
。
为了使其生效,我们还需要运行以下命令:
sudo update-grub
这不会阻止使用 Live CD 启动到根环境。
因此,我们还需要禁用 CD-ROM、网络或 USB 启动功能BIOS。为防止 BIOS 更改,我们还需要一个用于访问 BIOS 的密码,以及一个用于机箱的硬件锁,以防止重置主板上的 BIOS。
此外,您的硬盘可能需要加密,以防您的硬件被盗。
警告:通过这种方式保护您的系统,您可能会完全锁定自己的计算机。请谨慎行事,只有当您确切知道自己在做什么时才可以继续。请将您的密码保存在安全的地方。
答案2
别以为的名字
root
可以改变。在中
/etc/default/grub
,取消注释(删除‘#’符号)以下行:#GRUB_DISABLE_LINUX_RECOVERY="true"
...然后运行sudo update-grub
。
答案3
重命名 root 账户
不建议但如果您确实想要,请分别使用sudo vipw
和sudo vipw -s
重命名/etc/passwd
和/etc/shadow
文件中的“root”。这就是全部内容;对于内核,root
是任何具有 UID 0 的用户(至少这是我的新手理解)。请注意,如果您这样做,sudo -i
不再有效,但sudo -u xyz -i
仍然会将您置于 root 提示符下。
保护控制台访问
物理锁定电脑机箱,使其无法打开。
防止计算机启动其他设备。
在 BIOS 中,编辑启动顺序,使其仅启动硬盘(而不是从 CD、USB 设备等启动)。然后设置 BIOS 密码,以防止他人编辑启动顺序。
在 Grub 中禁用恢复模式选项。
编辑文件
/etc/default/grub
。取消注释以下行:#GRUB_DISABLE_LINUX_RECOVERY="true"
添加 Grub 超级用户。这有副作用,可以防止未经身份验证的 Grub 用户编辑引导行(例如添加引导
single
到单用户模式并获取 root 权限的参数)。首先,对要用于 Grub 超级用户帐户的密码进行哈希处理:
grub-mkpasswd-pbkdf2
然后通过附加以下行
/etc/grub.d/00_header
(是的,包括cat
和EOF
行)将超级用户添加到 Grub 配置中:cat << EOF set superusers=[YOUR USERNAME] password_pbkdf2 [YOUR USERNAME] [YOUR grub.pbkdf2.sha512.10000.... PASSWORD STRING] EOF
(示例取自http://www.g0hl1n.net/node/16。
最后,运行以下命令使 Grub 配置更改生效:
sudo update-grub2
这样做(假设我们确实保护了 BIOS 和 Grub)是为了将攻击面缩小到 PC 的物理安全(即打破机箱锁)和 Ubuntu 在线时的安全性。目标是让某人无法走到 PC 前,重新启动它,进入单用户模式,给自己 root 访问权限,然后走开 — 所有这些都在一分钟内完成。即使您正在运行全盘加密(但仍从 PC 硬盘启动内核 + initrd),所有这些步骤仍然是一个好主意,因为执行相同的攻击以向 initrd 添加键盘记录器以嗅探加密密码是微不足道的。
答案4
更改 root 用户名是不是建议 - 您可能会以 root 身份破坏您的安装。
有关 root 及其权限的定义,请参阅本文- 不改变的理由如下Ubuntu 论坛主题。