前言
在有公网的情况下,将OpenWrt的web网页管理界面暴露出来是比较危险的.
而默认的用户名是root且不支持通过UI修改.本文记录一下修改过程.
username代表你想要的用户名.建议先看下面问题第一点的隐藏部分.
⚠️注意: 本文包含修改root用户名操作,但实际情况是没了root用户会出现某些奇怪问题,包括但不限于无法ssh连接,无法操作文件等(实际上: 水平不够,文件修改不全,欢迎大佬解决.).故建议新增一个和root用户同级的权限,并关闭ssh密码验证改为密钥验证,不允许 root 用户凭密码登录等安全措施.需要注意的文件: (后来发现,不是修改用户名的锅,)passwd shadow
修改
1 | cd /etc/ |
将root:x:0:0:root:/root:/bin/ash修改为username:x:0:0:root:/root:/bin/ash
注: 若你编译有bash,推荐将ash改为bash
1 | vim shadow |
将root:xxxxxx:0:0:99999:7:::修改为username:xxxxxx:0:0:99999:7:::
1 | cd config/ |
将 option username 'root' 改成 option username 'username'
将 option password '$p$root' 改成 option password '$p$username'
1 | cd /usr/lib/lua/luci/controller/admin/ |
将sysauth = "root"修改为sysauth = "username"
1 | vim servicectl.lua |
entry({"servicectl"},alias("servicectl","status")).sysauth="root"
改为:entry({"servicectl"},alias("servicectl","status")).sysauth="username"
在登陆界面取消自动填写用户名:
1 | cd /usr/lib/lua/luci/view/ |
<input class="cbi-input-user" type="text" name="luci_username" value="<%=duser%>" />
改为<input class="cbi-input-user" type="text" name="luci_username" value="" />
另外,还需在对应主题中修改.例如主题:argo
1 | vim themes/argo/sysauth.htm |
<input class="cbi-input-user" type="text" name="luci_username" value="<%=duser%>" />
改为<input class="cbi-input-user" type="text" name="luci_username" value="" />
最后重启即可
1 | reboot |
存在的问题:
在任何界面都有这个提示:不过如果在passwd和shadow不删除root用户而是新增用户就不会有这个提示了(现在才说会不会有点晚😂)
未设置密码!
尚未设置密码。请为 root 用户设置密码以保护主机并启用 SSH。
每次更新后部分内容需重新设置,建议通过密钥免密登陆(),修改完重启即可继续用.
编译时修改
1 | vim ./package/base-files/files/etc/passwd |
如果用的是kenzo中的主题``argon`,可用下面代码,其他主题仅供参考.
1 | vim ./feeds/kenzo/luci-theme-argon/luasrc/view/themes/argon/sysauth.htm |
如果主题是argone,可用下面代码,其他主题仅供参考.
1 | vim ./feeds/kenzo/luci-theme-argone/luasrc/view/themes/argone/sysauth.htm |









