需求
![在这里插入图片描述](https://img-blog.csdnimg.cn/cb205cbe8e5c417586de7f6b3c54683c.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZW5jb2RlcmxlZQ==,size_20,color_FFFFFF,t_70,g_se,x_16#pic_center)
最近我们在开发一个基于树莓派的小盒子,我们会采购一些树莓派,装好外盒,装好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/getty@tty1.service
修改【getty@tty1.service】文件的【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
![在这里插入图片描述](https://img-blog.csdnimg.cn/e153fa570d984eecae08dc43de934967.png?x-oss-process=image/watermark,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBAZW5jb2RlcmxlZQ==,size_18,color_FFFFFF,t_70,g_se,x_16)
便可实现Ubuntu Server的无密码开机自动登录
交流讨论
![在这里插入图片描述](https://img-blog.csdnimg.cn/3b0420180a2649d186a957f84fc91d1b.jpeg#pic_center)