RaspberryPi 3 デフォルトユーザpiの変更 | そう備忘録

RaspberryPi 3 デフォルトユーザpiの変更

デフォルトユーザpiの変更

RaspberryPiのOS(Raspbian)にはデフォルトのpiユーザがある。

  • ユーザID(ログイン名):pi
  • パスワード:raspberry

osの最初の起動のときにはこのユーザを使用するのだが、そのまま使っているとroot権限を持っていることもありセキュリティ上問題があるのでユーザID(ログイン名)の変更を行う事にした。

尚、当初piユーザを削除して新しくユーザを作成するつもりでいたのだがネットで調べてみるとpiは削除せずにログイン名の変更をしたほうがpiで作成したファイルやディレクトリに対する権限が引き継がれるのでトラブルが少ないとの記事を多数見つけたのでその方法でやることにした。

先人の方達の知恵に感謝する。

やった手順を忘れないように備忘録の意味で記事にしておく。

手順概要

大まかな手順は以下の通り。

  1. 仮のtmpユーザを作成(後で削除する)
  2. 自動ログインユーザをpiから変更する
  3. ブートをデスクトップからCLIに変更する
  4. tmpでログインしてpiユーザID(ログイン名)を変更
  5. 新しいユーザIDでログインしてパスワードを設定
  6. 自動ログインユーザを新しいユーザに変更
  7. 仮のtmpユーザの削除
  8. ブートをCLIからデスクトップに戻す

尚、ネットで検索すると表示される他の記事ではCLI(Command Line Interface)前提でユーザID変更をおこなっているのに対して自分は最初はデスクトップ環境で変更をしようとしたので恐らく冗長な操作が混じっている。

試行錯誤した部分も含めて記事にしているので、その前提で読んで欲しい。

手順

仮のtmpユーザを作成

piでログイン中は自分自身のログイン名を変更することが出来ないのでpi→newidに変更処理をする為だけの一時的なID(tmp)を作成する。

デスクトップ環境からLXTerminalを起動する。

LXTerminalの起動

下記のコマンドでtmpユーザを作成した後、sudo権限を追加する。

尚、パスワードは何でも良い。

sudo adduser tmp
sudo gpasswd -a tmp sudo

useraddでユーザを作成をしていた記事もあったがuseraddによるユーザの作成だとhomeディレクトリを作成しないので後でtmpでログインし直す時にデスクトップにログインが出来なかったのでadduserを使った。

しかしCLI前提であればuseraddでも良いのかも知れない。

tmpユーザの作成とsudo権限の付与

自動ログインユーザの変更

自動ログインユーザがpiになっているので停止またはtmpに変更する。

lightdm.confファイルの変更

/etc/lightdm/lightdm.conf ファイルを編集してautologin-user=piの行を#でコメントアウトする。

ちなみにLightDMはディスプレイマネージャ。

ubuntuのバージョン16.04 LTSまではLightDMで以降のバージョンではGDM(GNOME Display Manager)に変更されているので、そのうちRaspbianでもGDMになるのかも知れない。

sudo vi /etc/lightdm/lightdm.conf

autologin-user=piのコメントアウト

autologin@.serviceファイルの変更

/etc/systemd/system/autologin@.serviceファイルを編集してExecStartのユーザIDをpiからtmpに変更する。

これにより電源を入れたときのTTY(標準入出力)のログイン名が変更される。

sudo vi /etc/systemd/system/autologin@.service

ExecStart=-/sbin/agetty --autologin pi --noclear %I $TERM
    ↓
ExecStart=-/sbin/agetty --autologin tmp --noclear %I $TERM

ExecStartをpiからtmpに変更

変更したら再起動する。

sudo reboot

ブートをデスクトップからCLIに変更する

再起動後にtmpでログインをしてLXTerminalから

who

をした所、tmpユーザの他に何故かpiも居る。

piが接続しているとユーザID(ログイン名)の変更ができない。

whoの結果 piも居ることがわかる

tty7は恐らくデスクトップ。。。なのかな(?)

tty1がpiでログインされている理由がイマイチ分からないがRaspberryPiのメニューから設定ー>RaspberryPiの設定のシステム・タブでブートをデスクトップからCLI(Command Line Interface)に変更して再起動する。

ブートをデスクトップからCLIに変更

tmpでログインしてpiユーザID(ログイン名)を変更

再起動後ssh(PuTTY)で接続してwhoで確認すると今度はtmpしか接続していない。

接続はtmpのみ

piユーザのログイン名を変更する

usermodコマンドの-lオプションでログイン名をpiからnewidに変更する。

このコマンドで変更すると今までpiユーザの所有だったファイルも全てnewidに変更されるので不具合が起きにくいとの事。

sudo usermod -l newid pi

上記コマンドではユーザのホームディレクトリは変更されないので-dオプションで変更する。

sudo usermod -d /home/newid -m newid

続いてグループ(同じくusermod -lでは変更されない)もpiからnewidに変更する。

sudo groupmod -n newid pi

tmpの役割はこれで終了。

sudo reboot

で再起動する。

新しいユーザIDでログインしてパスワードを設定

newidでログインをする。

この際のパスワードは当然だが旧ログイン名(pi)のパスワード。

初期状態から変更していないのであれば”raspberry”になっている。

piの時のパスワードがそのままだとセキュリティ上よろしくないので変更する。

sudo passwd newid
2回新しいパスワードを入力してパスワードの変更は終了。

自動ログインユーザを新しいユーザに変更する

lightdm.confファイルの変更

先程#でコメントアウトしたautologin-user=piの行をもとに戻して、piをnewidに変更する。

sudo vi /etc/lightdm/lightdm.conf
autologin-userをnewidに変更する

autologin@.serviceファイルの変更

先程piからtmpに変更したユーザIDをnewidに変更する。

sudo vi /etc/systemd/system/autologin@.service

ExecStart=-/sbin/agetty --autologin tmp --noclear %I $TERM
   ↓
ExecStart=-/sbin/agetty --autologin newid --noclear %I $TERM

仮のtmpユーザの削除

tmpユーザは不要なので削除する。

-rオプションでホームディレクトリ毎削除する。

sudo userdel -r tmp
”tmpのメールスプールがありません”等のメッセージが表示されるが無視してOK。

ブートをCLIからデスクトップに戻す

ブートをデスクトップに戻す(任意)。

sudo raspi-config

RaspberryPiの設定画面が表示されるので、”3 Boot Options”を選択する。

boot optionsを選択する

”B1 Desktop / CLI”を選択する。

B1 Desktop/CLI

”B4 Desktop Autologin”を選択する。

Desktop Autologin

最初の画面に戻るので”Finish”を選択する。

finishを選択

再起動するかを聞かれるので”はい”を選択する。

再起動を選択する

再起動すると新しいログイン名でデスクトップに自動ログインされる。

以上でログイン名の変更の記事はは終了とする。

最後に

この記事が何処かで誰かの役に立つことを願っている。

尚、当記事中の商品へのリンクはAmazonアソシエイトへのリンクが含まれています。Amazonのアソシエイトとして、当メディアは適格販売により収入を得ていますのでご了承ください。

souichirou

やった事を忘れない為の備忘録 同じような事をやりたい人の参考になればと思ってブログにしてます。 主にレゴ、AWS(Amazon Web Services)、WordPress、Deep Learning、RaspberryPiに関するブログを書いています。 仕事では工場に協働ロボットの導入や中小企業へのAI/IoT導入のアドバイザーをやっています。 2019年7月にJDLA(一般社団法人 日本デイープラーニング協会)Deep Learning for GENERALに合格しました。 質問は記事一番下にあるコメントかメニュー上部の問い合わせからお願いします。

3件のフィードバック

  1. 匿名 より:

    tmpでログインできないし、ID変更できないしで、10時間ほど悩まされました。
    このページのご解説で問題が解決できました(ToT)。
    ありがとうございました。

    • souichirou より:

      コメントありがとうございます。
      自分がやった事を後で忘れないように記事にしているのですが、お役に立てたようで良かったです?
      自分はCLIに変更するところでハマりました。

  1. 2020年8月23日

    […] – QiitaセキュアなSSHサーバの設定 – QiitaRaspberryPi 3 デフォルトユーザpiの変更 | そう備忘録Raspberry PiのCLI/GUIログインの切り替え – ysdyt.net for tech […]

souichirou へ返信する コメントをキャンセル

名前、メール、サイト欄は任意です。
またメールアドレスは公開されません。