初期ユーザーとパスワードを変更する
Raspberry Piは、工場出荷状態の時から
初期ユーザーはpi、pwはraspberryと相場が決まっています。
その為、これを変えぬまま本格運用にもっていくと大変なことが起きます。
2019年に、NASAが使用していたRaspberry Piの脆弱性がサイバー攻撃を受けていたとして当時話題になりました。
このように、少し情報知識の長けた悪意あるユーザーからすると、格好の的になってしまうのです。堅牢度を高めるためには、こういった基礎的な設定が重要になってきます。
逆に言うとRaspberryPiに入っているRspbianのもととなるLinuxOSはOSS(オープンソースソフトウェア)と呼ばれるオペレーティングシステムであり、
WindowsやMac以上に開発者の為に開かれたシステムです。
その為、自由度が高い分設定も容易に変更でき、より技術的知識に長けた人からすると好きなようにカスタマイズが出来てしまいます。
かといって、「初心者がそんなの手を出したら危ないんじゃない・・」などと過度に恐れる必要はなく、しっかりとした対策を行って学んでいけば危険性はありません。
(というか、サービスとして実運用せずに趣味、お勉強の範囲でやるようであればほぼほぼ狙われることもなく、さほど問題ありません。
セキュリティ的な観点からもプログラミングをしていくことで、
同時にITリテラシーも高めていきましょう!
新規ユーザーの作成
sudo adduser 好きなユーザー名
でユーザーを作ります。
すると、パスワードの入力を求められるので確認も含め2回、入力します。
なお、パスワードはこの時見えないことに注意してください。
パスワードの入慮kぐあ終わると、氏名や部屋番号(!?)、電話番号などを聞かれますが全てスキップでOKです。Enterで飛ばすことが出来るので、
最後に「これで正しいですか?」と訊かれるのでyでエンターキーを押下しましょう。
おめでとうございます。これで新ユーザーが作成できました。
作成したユーザーに権限を付与する
続いて、初期piユーザーから乗り移る為の設定をしていきます。
まずはどういった権限をそもそも持っているのか、groups pi
とコマンドを打って確認してみましょう。
pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio newpiuser
のような感じで出力されると思います。sudoを見て気付くように、これら一つ一つが権限を持った「グループ」の名称です。
初期の動作から支障のないように、これらの権限を全て新規ユーザーに移します。
以下のコマンドを入力してください。
sudo usermod -G pi,adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio 新規ユーザー名
Enterを押しても何も出ませんが、groups 新規ユーザー名
と入れなおすことで、
権限が追加されていることが確認できると思います。
ホームディレクトリのコピー
続いて、「pi」ユーザーのホームディレクトリ内ファイルを新規ユーザーのホームディレクトリへコピーしていきます。
sudo cp -r /home/pi/* /home/新規ユーザー名
またEnterを押しても何も出ませんが、ユーザーのディレクトリにcd
で移動し、ls -a
コマンドで見てみるとファイルが増えているのが確認できます。
自動ログインの設定
自動log inの設定に入ります。/etc/lightdm/lightdm.conf
にて編集という記事がありますが、私が使用しているLiteのOSバージョンでは同ファイルはないので、/etc/systemd/system/
内の autologin@.service
を編集していきます。
sudo nano /etc/systemd/system/autologin@.service
にて
[Service]のExecStart~から始まる行を探します。
現在、初期ユーザーであるpiが指定されているので、ここを自分で作成したユーザー名に変更しましょう。
今回はoyabinとしてみました.。systemctl daemon-reload
でsystemdの設定ファイルをリロードします。
systemctlコマンドもよく使うので、覚えておくと良いでしょう。
Passwordを求められるので、入力すると認証が完了します。
一旦ここで、設定を適用させるためにsudo reboot
にて再起動して、
新規ユーザーにて再log inをしておきましょう。
piユーザーの無効化
これでrootパスを設定し、新規ユーザーを作り元々の権限とファイルを付与させました。
最後に、初期ユーザーpi
のログインを無効化させます。
~なぜ削除しないの??~
Linuxでは、コマンドで容易にユーザーを削除することが出来ます。
だからこそ注意が必要で、今回それをしないのはpiユーザーを元に作られているファイルが多く、削除して細かな設定ファイルが使えなくなるリスクを避ける為です。
先ほどの自動log inのファイルのように、pi
ユーザーが予め初期値としてセットされているコードに対し、ユーザーをなくしてしまうと知りもしない場所で予期せぬエラーが起こる可能性があります。不正使用の防止という観点ではユーザーのログインそのものを防げばよいので、今回は無効化にします。
sudo usermod --expiredate 1 pi
警告は出ますが今回はこれでOKです。
パスワードの入力が求められるので、新ユーザーのログインパスワードを再入力します。
念の為、初期ユーザーからsudo(管理者権限)もなくしておきましょう。
sudo gpasswd -d pi sudo
このまま入力画面に戻るので、再度コマンドを実行して「ユーザーpiはsudoメンバーではありません」と表示されればOKです。
以上で、初期ユーザーpiの無効化は完了です。お疲れ様でした!
次は、外部パッケージを色々installしたり、プログラムを実行する為のGitとPythonのインストールです。