ども。こんばんは。

昨日の続きをやっていきます。

今日は、rootパスワードを変えたり、piユーザを降格させたり、バックアップをとったりです。

■環境のおさらい
Raspberry Pi 3 Model B
NOOBS v2.4.4
Raspbian 9.1 ※Stretchっていうやつかな?

■rootパスワードの変更

デフォルトではパスワードなしっぽいです。正確には/etc/shadowでこのようになっています。

root:*:17416:0:99999:7:::

なので、sudo su -してrootになってpasswdで変えます。

これ、別にやらなくてもいいと思ってはいますが、何かあったときにrootで直接ログインしないと困るかもしれない。ということでやっています。この状態でもsudoでrootにはなれますし、あくまでパスワードが未設定(空ではない)ので、ログインもできないので、変に設定しないほうが安全といえば安全かも。

■SSHのrootログイン設定

こちらはデフォルトで無効でした。

■新規ユーザの作成/piユーザからsudo権限剥奪

これもいろんな先人のみなさんで方針はあるようです。
色々あってpiユーザは消さないほうが良いという話もあるみたいですね。
私もpiユーザを消すのはちょっと抵抗があります。
piからユーザ名を変えてしまうのが良さそうにも思います。

参考:[Raspberry Pi]ユーザ名変更の個人的に「正しい」と思うやり方

今回は、piユーザは残しつつ、sudo権限を剥奪し、新しいユーザにsudoを与え日々使うユーザにしてみます。

hogeユーザを追加しパスワードを設定。

# useradd hoge ←adduserのほうがよいかも(理由は後述)。
# passwd hoge

piユーザと同等の権限を付与。

# groups pi ← 今のグループの確認
pi : pi adm dialout cdrom sudo audio video plugdev games users input netdev spi i2c gpio

# usermod -aG adm,dialout,cdrom,sudo,audio,video,plugdev,games,users,input,netdev,spi,i2c,gpio hoge

※おまけ:usermod -G でユーザに新しいサブグループを追加してはいけない

ログインシェルをpiユーザに合わせる

# vipw
こんなかんじ。赤字部分を追記。

hoge:x:1001:1001::/home/tomo:/bin/bash

ホームディレクトリの作成とスケルトンの設定忘れてたorz
※プロンプトの色が緑じゃなかったので気づきました。。。

これuseraddじゃなくてadduserすればよかったですね。

今回はしょうがないので作ります。

# mkdir /home/hoge
# chown hoge:hoge hoge

# cp -ipv /etc/skel/.bash_logout /home/hoge/
# cp -ipv /etc/skel/.bashrc /home/hoge/
# cp -ipv /etc/skel/.profile /home/hoge/

# cd /home/hoge

# chown hoge:hoge .bash_logout
# chown hoge:hoge .bashrc
# chown hoge:hoge .profile

こんなところですかね。
hogeでログインして無事プロンプトが緑になればokかな。

続いてpiユーザをsudoグループから外します。

# gpasswd -d pi sudo

その後、「/etc/sudoers.d/010_pi-nopasswd」も編集しておきます。
※ファイル削除でもいいかも。

#pi ALL=(ALL) NOPASSWD: ALL

もし追加ユーザもsudoをパスワードなしで行いたい場合は上記のような設定をいれます。
※私は今回やりませんでした。

piユーザをログインできなくしてもいいのですが、まぁそれはいいかなー。
多分どっかでまたpiユーザ使う日がくる気がする。

■オートログインの無効化&デスクトップ起動させない(動作未確認)

これ最初から気に食わなかったので解除します。

/etc/lightdm/lightdm.conf」を編集して、「autologin-user=pi」をコメントアウトしてもいいと思いますが、raspi-configでもできるようです。

設定後はrebootを求められます。

ただ、これ、モニター繋ぐのが面倒くさいという理由でreboot後にチェックしていません。。。

autologin-user=pi」がconfig上まだ残ってる気がするんですが・・・。

■バックアップ

SDをコピーするのが主流?のようです。(ddとかで)

公式ドキュメント:https://www.raspberrypi.org/documentation/linux/filesystem/backup.md

NOOBS環境だと、パーティションがちょっと特殊で動かないツールもあるみたい?
SD Card Copierっていう付属のGUIツールもあるみたいですね。

個人的にネットワーク越しにどこかサーバに取りたいと思っています。

こんな方法があるんですね。ちょっと心配ですが、これが良さそう?

Use SSH and dd to Remotely Backup a Raspberry Pi

んー。でもSSHじゃなくて良いな。ということで、NASをマウントしてddします。

# mkdir /mnt/nas ←お好みで
# mount -t cifs -o username=username,password=password //xxx.xxx.xxx.xxx/sharename /mnt/nas

参考: make backup dd image while pi is live

バックアップするブロックデバイスを確認

# lsblk -p

NAME             MAJ:MIN RM  SIZE RO TYPE MOUNTPOINT
/dev/mmcblk0     179:0    0 14.4G  0 disk
├─/dev/mmcblk0p1 179:1    0  1.6G  0 part
├─/dev/mmcblk0p2 179:2    0    1K  0 part
├─/dev/mmcblk0p5 179:5    0   32M  0 part
├─/dev/mmcblk0p6 179:6    0   69M  0 part /boot
└─/dev/mmcblk0p7 179:7    0 12.8G  0 part /

/dev/mmcblk0」でいいのかな。

# dd if=/dev/mmcblk0 | gzip -1 – | dd of=/mnt/nas/raspi/sd.img.gz

※オプションが見慣れないが、圧縮率を低く=-1、標準入力を圧縮=-。という感じ。

時間がかかりそうなので、実行して放置。結果&リストアはまた今度!

今日はとりあえずここまで!

メモ:ddで取得したイメージを戻した後はfsckする。/boot/fsck

ではでは。またの機会に。

バックナンバー