我正在尝试在本地复制 VPS 提供商(DigitalOcean、Vultur 等)在我部署其服务时提供给我的那种映像。据我所知,它们的基础映像非常普通,所以我认为官方的 ubuntu 服务器映像非常适合在 Virtual Box 中启动,这样我就完成了。问题是:官方映像强迫我创建一个 sudo 用户。
在正常使用中这很好,但是当我在 VPS 上启动实例时,我只能以root
用户身份启动。有没有办法使用官方 ISO 映像进行安装,而无需 sudo 用户?(如果有 Vagrant Box,我愿意尝试!)
请注意:
- 我知道在
root
用户上运行是不好的,我只是在本地进行,“为了科学”; - 我知道我可以
sudo su
从我的用户那里得到,但这不是我想要的;
再次,我希望拥有它,就像他们通过 VPS 提供商给我的那样...但感谢您对安全性的关注 ;-)
答案1
这是一个分步示例,说明如何通过启用 root 权限并删除用户来执行此操作,如用户所述字节指挥官
USERNAME
以安装过程中创建的用户身份通过 ssh 进入安装sudo su
成为根passwd
然后输入 password 为 root 用户设置密码nano /etc/ssh/sshd_config
通过以下编辑允许 root 用户 ssh 登录- 找到(注释掉的)行
#PermitRootLogin prohibit-password
,不做修改,在其下方添加以下新行 PermitRootLogin yes
Ctrl-X
、、y
保存Enter
更改并退出 nano
- 找到(注释掉的)行
service ssh reload
重新加载 ssh 守护进程配置- 尝试通过新的 ssh 会话以 root 身份登录,以验证一切是否正常。
在此刻:
cut -d: -f1 /etc/passwd
应列为USERNAME
最后一项。cut -d: -f1 /etc/group
应列为USERNAME
最后一项。id
(当执行时USERNAME
)应该返回uid=1000(username) gid=1000(username) groups=1000(username),4(adm),24(cdrom),27(sudo),30(dip),46(plugdev),108(lxd)
现在删除用户USERNAME
:
deluser --remove-home USERNAME
删除安装过程中创建的用户。您将收到一条警告Warning: group 'USERNAME' has no more members.
,但该组也将在命令完成之前自动删除。
在此刻:
USERNAME
中不应列出任何用户名称cut -d: -f1 /etc/passwd
。USERNAME
中不应列出任何名称的组cut -d: -f1 /etc/group
。- 可以使用
root
root 密码通过 ssh 以用户身份登录。
尽管有些内容可能仍然提及USERNAME
,但此时系统的状态已经相对接近 VPS 所提供的功能,希望足够接近以进行一些Ansible
类似测试。
虽然快速启动-solution 应该是正确的,这个可能更容易存档并提供几乎相同的功能。