メインコンテンツへスキップ
  1. ノート/
  2. Linux/

Linux パスワードなしログイン(サーバー向け)

·679 文字·2 分· loading · loading · · ·
ICE345
著者
ICE345
CS Student | System | Linux | OCaml
この記事は中国語版をもとにした日本語版メモです。コマンド、コード、数式、画像リンクは原文の意味を壊さないように保持し、説明文と見出しを日本語向けに整理しています。

需求
#

在这里插入图片描述

最近我们在开发一个基于树莓派的小盒子,我们会采购一些树莓派,装好外盒,装好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的无密码开机自动登录