Linux无需密码登陆-适合服务器
需求
最近我们在开发一个基于树莓派的小盒子,我们会采购一些树莓派,装好外盒,装好arm版本的【Ubuntu
Server
20.04】系统,并且装上我们开发的配套软件,对接我们云端的服务,最终把小盒子卖给用户并提供一些收费的服务。我们在安装系统的时候使用了Ubuntu自带的磁盘加密功能,确保机器在不开机的情况下不能被轻易的取出TF卡读取数据。
另一方面,我们创建了一个低权限的Linux用户【user】,方便用户进行一些基本操作。
默认情况下【Ubuntu Server 20.04】系统开机后,会要求你输入账号和密码来登录,但我们希望用户开机后,系统自动以【user】身份登录,并且自动运行一些脚本。
实现
在网络搜索了一下,资料很多,但是坑也很多,最终总结出一个最简单的办法。
先创建一个用户【user】
sudo adduser user
然后一路回车,这时候发现无法给这个用户指定空密码,提示
No password supplied
不用担心,先胡乱设一个密码,一路回车,创建完毕后,删除该用户的密码
sudo passwd -d user
接下来就是配置终端的自动登录
sudo vim /etc/systemd/system/getty.target.wants/[email protected]
修改【[email protected]】文件的【ExecStart】这一行内容,从
ExecStart=-/sbin/agetty -o ‘-p – \u’ --noclear %I $TERM
修改为
ExecStart=-/sbin/agetty -a user -o ‘-p – \u’ --noclear %I $TERM
其实是就是加了-a [用户名]
最后让systemd重新加载一下配置文件
sudo systemctl daemon-reload
然后重启系统
sudo reboot
便可实现Ubuntu Server的无密码开机自动登录