Ubuntu 16.04 Server用户账户自动登录设置及命令咨询
在Ubuntu 16.04 Server(全盘加密)中设置自动登录
嘿,我来帮你搞定Ubuntu 16.04 Server全盘加密环境下的自动登录问题。这里得分成两步走:先让加密的系统盘自动解锁,再配置用户自动登录到命令行界面——毕竟Server版默认是没有图形界面的嘛。
第一步:让LUKS加密盘自动解锁
因为你安装时用了全盘加密,系统启动时会要求输入密码解锁LUKS卷。要跳过这一步,我们需要创建一个密钥文件并配置系统自动用它解锁:
- 首先生成一个随机密钥文件,存在root目录下:
sudo dd if=/dev/urandom of=/root/keyfile bs=1024 count=4 - 给密钥文件设置严格的权限,确保只有root能读取(这很重要,不然安全性会大打折扣):
sudo chmod 0400 /root/keyfile - 找到你的LUKS加密分区设备名,比如可以用
sudo blkid命令查看,通常是类似/dev/sda3或者UUID开头的条目。然后把密钥添加到加密卷:
执行这一步时需要输入你原来的加密盘密码,确认添加。sudo cryptsetup luksAddKey /dev/你的加密分区 /root/keyfile - 修改
/etc/crypttab文件,用文本编辑器打开:
找到对应根分区的加密条目(通常是sudo nano /etc/crypttabcryptroot开头的行),把原来的密码源改成我们的密钥文件,修改后大概是这样:
这里的UUID可以从cryptroot UUID=你的加密分区UUID /root/keyfile luksblkid的输出里复制过来,别搞错了! - 最后更新initramfs,让系统启动时加载这个密钥配置:
sudo update-initramfs -u
第二步:设置用户自动登录到命令行
搞定加密盘自动解锁后,接下来配置系统自动登录指定用户到tty1(默认的命令行终端):
- 创建一个systemd服务的配置目录和文件:
sudo mkdir -p /etc/systemd/system/getty@tty1.service.d sudo nano /etc/systemd/system/getty@tty1.service.d/autologin.conf - 在打开的文件里输入以下内容,把
你的用户名替换成你要自动登录的用户:[Service] ExecStart= ExecStart=-/sbin/agetty --autologin 你的用户名 --noclear %I $TERM - 启用这个配置,让systemd生效:
sudo systemctl enable getty@tty1.service
最后测试
现在重启服务器看看效果:
sudo reboot
⚠️ 重要提醒:设置加密盘自动解锁会降低系统的物理安全性——如果有人能物理接触到你的服务器,他们可以拿到密钥文件解锁磁盘。所以只在你能确保服务器物理安全的场景下这么做哦!
内容的提问来源于stack exchange,提问作者Eric Nderitu
相关产品推荐
相关产品推荐

