ども。こんばんは。
昨日の続きをやっていきます。
今日は、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
ではでは。またの機会に。
バックナンバー