🔑
【Ubuntu】PINログインができるようにする
はじめに
GPD Win4 に、Ubuntuをインストールしてみたはいいのですが、指紋センサを検出してくれないために、毎回パスワードを入力しなくてはいけない事態になりました。おとなしくWindows使えよ、と言われそうな話ではあるのですが、Ubuntuがやっぱり好きなので、PINを使えるようにすることで、不便を解消することにしました。
英語の記事はそこそこあるのですが、日本語の記事は少ないのと、実際にやってみるといくつかハマりポイントがあったので、せっかくだからと記事にしてみることにしました。
手順
- まず、apt updateします。
sudo apt update
- ユーザーの認証を処理するソフトウェアコンポーネントである
PAM
(Pluggable Authentication Modules)を入れます。
sudo apt install -y libpam-pwdfile
- パスワードを生成するコマンドである
mkpasswd
を使えるようにするために、whois
を入れます。
sudo apt install whois
- 現在のシェルをルートシェルとして継続するためのコマンドを入力。
sudo -s
だと新しいシェルに入り、そのシェルでスーパーユーザーとして実行するので、やや挙動が違うようです。
sudo -i
- もともとの
/etc/pam.d/gdm-password
ファイルのパックアップをとっておきます。
cp /etc/pam.d/gdm-password /etc/pam.d/gdm-password_ORIGINAL
- 自分のコンピュータのユーザー名をXXXXの部分に入れて、以下のコマンドを打ちます。(ここで
mkpasswd
を使用してますね。)
echo "XXXX:$(mkpasswd -5)" > /etc/custompinfile
# 例:ユーザー名が`tanaka`の場合
echo "tanaka:$(mkpasswd -5)" > /etc/custompinfile
- パスワードの入力を求められるので、ここにPINコードにしたい文字列や数字を入れます。これがログイン時に入力するPINになります。
PASSWORD: (使用したいPIN)
# 例:PINが1234の場合
PASSWORD: 1234
-
/etc/pam.d/gdm-password
ファイルを開きます。
# vimの人:
sudo vim /etc/pam.d/gdm-password
# nanoの人(自分はこっちです):
sudo nano /etc/pam.d/gdm-password
- 以下の内容を、
#%PAM-1.0
の直下の行である2行目に追記します。
auth sufficient pam_pwdfile.so pwdfile=/etc/custompinfile
記述後のイメージはこちら。
#%PAM-1.0
auth sufficient pam_pwdfile.so pwdfile=/etc/custompinfile
auth requisite pam_nologin.so
auth required pam_succeed_if.so user != root quiet_success
-
保存して終了。(nanoの人は
Ctrl+X
、vimの人は:wq
) -
Ubuntuからログアウトすると、PINでログインできるようになっているはずです!!
おわりに
ターミナルでルートユーザーになる際にもPINが使えたらいいんですが、さすがにそれは厳しそうでした。
再起動時でも通常のパスワードが必要になるという記事もありましたが、自分は問題なくPINでログインできました!
参考
Discussion