OpenWRT構成:ユーザー名、パスワードおよびWebユーザー名の変更

3216 ワード

Openwrtシステムのデフォルトのユーザー名はrootであり、webページログインページもデフォルトでユーザー名rootが埋め込まれた状態であるため、セキュリティや自分の個性を考慮して、自分の好きなユーザー名とパスワードを自分で作成する必要がある.
一、パスワードの変更
1、openwrt開発ボードでパスワード
コマンドpasswdを使用して、パスワードを直接入力するとパスワードリセットが完了します.
2、ソースコードを修正してパスワードの永久指定を実現する
開発ボードでコマンドpasswdを使用してパスワードを変更し、/etc/shadowファイルの内容をソースファイルにコピーします.
/openwrt/package/base-files/files/etc/shadow

中に入って、make V=99でコンパイルすればいいです.
二、openwrt開発ボードでユーザー名を変更し、rootを自分の望む名前に変更する(ここではnameを例に挙げる).
1、/etc/passwd
root:x:0:0:root:/root:/bin/ash

変更
name:x:0:0:root:/root:/bin/ash

2、/etc/shadow
root:$1$CUZfPWNP$jl8w3/uwU/qtjjBfa.urF/:18216:0:99999:7:::

変更
name:$1$CUZfPWNP$jl8w3/uwU/qtjjBfa.urF/:18216:0:99999:7:::

3、/usr/lib/lua/luci/controller/admin/index.lua
    page.title   = _("Administration")
    page.order   = 10
    page.sysauth = "root"
    page.sysauth_authenticator = "htmlauth"
    page.ucidata = true
    page.index = true
    page.target = firstnode()

変更
    page.title   = _("Administration")
    page.order   = 10
    page.sysauth = "name"
    page.sysauth_authenticator = "htmlauth"
    page.ucidata = true
    page.index = true
    page.target = firstnode()

4、/etc/config/rpcd
    option username 'root'
    option password '$p$root'

変更
    option username 'name'
    option password '$p$name'

これで、簡単なユーザー名の変更が完了しました.Webログインページが必要な場合は、ユーザー名を自動的に記入しないでください.変更する必要があります.
5、/usr/lib/lua/luci/view/sysauth.htm

変更

三、開発環境のソースコードの中でユーザー名を修正する(以下のステップは開発ボードの上で修正したステップと一つ一つ対応する)
1、./openwrt/package/base-files/files/etc/passwd 2、./openwrt/package/base-files/files/etc/shadow 3、./openwrt/feeds/luci/modules/luci-base/luasrc/controller/admin/index.lua 4、./openwrt/package/system/rpcd/files/rpcd.config 5、./openwrt/feeds/luci/modules/luci-base/luasrc/view/sysauth.htm
このように,コンパイルが完了した後に開発ボードに焼き付けるか,修正した名前をWebページ側に表示する.修正を完了します.
四、openwrtのホスト名を変更する(usernameを例に挙げる)
1、開発ボードで修正
/etc/config/systemの
option hostname OpenWrt
option timezone	UTC

変更
option hostname username
option timezone	UTC

そしてrebootを再起動すればいいです.
2、開発ソースでファイルを修正する
./openwrt/package/base-files/files/etc/config/system
修正方法は上と同じです.
五、シリアルポートツールを通じてopenwrt端末に入るにはユーザー名とパスワードが必要である
1、開発ボードで修正
ファイル/usr/libexec/loginを
#!/bin/sh
[ "$(uci -q get system.@system[0].ttylogin)" = 1 ] || exec /bin/ash --login
exec /bin/login

変更
#!/bin/sh
[ "$(uci -q get system.@system[0].ttylogin)" = 1 ] || exec /bin/login
exec /bin/login

2、コンパイルソースでファイルを修正する
./package/base-files/files/usr/libexec/login.sh
修正方法は上記と同じです.