openwrt にユーザを作ってsudo する
予備のユーザがあったほうが嬉しいと思う。
予備のユーザを作る
echo takuya:x:1000:takuya >> /etc/group echo takuya:x:1000:1000:takuya:/home/takuya:/bin/bash >> /etc/passwd echo takuya:x:0:0:99999:7::: >> /etc/shadow passwd takuya
sudo を入れる
opkg install sudo # ファイルを追記 echo "%sudo ALL=(ALL:ALL) ALL"> /etc/sudoers.d/sudo-group.enabled # パスワード再確認は不要にする。 echo "%sudo ALL=(ALL:ALL) NOPASSWD: ALL" > /etc/sudoers.d/sudo-group.enabled # または、visudo で visudo
ssh ログインで鍵を有効にする
予備のユーザでSSHログインしたほうがいいかも
ssh takuya@yourip.openwrt.lan mkdir ~/.ssh touch ~/.ssh/authorized_keys echo "ssh-rsa YOUR_PUBKEY.. takuya@host" >> ~/.ssh/authorized_keys
これで、予備のユーザが出来るので rootを使わずにすみます。
予備のユーザの名前を総当り安全にする
どうしても、「SSH鍵に慣れない」ひとのために、パスワードを長くするのも有効な手段だが、憶測可能なユーザ名を使わないのも一つの手段だとおもう
# echo takuya_$(openssl rand -base64 18 ) takuya_mw6eh8X4mKLAk98HwC51nLQy
くっそ長いユーザ名を作ればいいのである。
管理画面にログインできるようにする。
opkg install luci-app-acl
ACL(Access Control List) の画面が出てくる
ユーザを作って、/etc/shadow で認証するように設定してやる。
バックアップ設定
必要であれば、バックアップファイルにユーザを含めるようにする
echo " ## ユーザ設定バックアップ /etc/sudoers /etc/sudoers.d /etc/shadow /etc/passwd /etc/group /home/takuya " >> /etc/sysupgrade.conf
これで、予備のユーザを作ることが出来る。
su がないんだけど
su がないsudo su は su がないので、できない
sudo su は覚えやすく手軽なのですが。実はあまり褒められた方法ではない。
ただしいsudo の使い方をするか、シェルを直接起動する
## 邪道のsudo sudo su sudo sh ## 清く正しく美しい sudo sudo -i -u root ## 上記の省略形 sudo -i
root を使わないのも一つの手段だとおもうし、rootが万が一乗っ取られたとき、root のパスワードを紛失したときの予備として機能する。
パスワード忘れで初期化して初期設定を流し込んでも構わないのですが。