Openwrt系统在默认情况下只提供一个
root账户,所有的服务都是以
root权限运行的,包括
WebUI也是通过root账户访问的,如果你的Openwrt设备支持
WAN口访问WebUI,那么这里就有极大的安全风险,为了尽可能的降低这种风险,新增一个普通用户可能是一个比较合理的方案。
Openwrt系统实际上是支持多用户的,只不过我们需要进行一些必要的配置,本文接下来就会介绍Openwrt系统如何新增普通用户,以及如何控制普通用户访问权限相关知识。
本文所有内容均是基于 Openwrt23.05 + linux 5.15 版本介绍的。
1 如何新增普通用户
新增普通用户需要系统增加如下工具的支持
# 必要工具
su adduser deluser passwd addgroup delgroup
# 可选工具
sudo
如果是手动编译的Openwrt源码,可以使用make menuconfig手动选择编译这些工具,这些工具在menuconfig中的位置如下。当然直接使用opkg直接安装也是可以的,大家按照自己方便的方式安装就行。
make menuconfig
> Base system
> Login/Password Management Utilities
su adduser deuser passwd addgroup delgroup
-> Administration
sudo
安装好工具后,下一步就可以在控制台(必须是root权限)新增用户了,这里以新增guest用户为例:
$ mkdir -p /home/guest
$ addgroup guest_g # 创建一个guest_g用户组
# 新增guest用户,home目录为/home/guest,默认shell为/bin/ash
# -D 表示默认不分配密码,后续可以使用passwd命令给guest 用户设置密码
# -G guest_g 将guest加入guest_g用户组
$ adduser -h /home/guest -s /bin/sh -D -G guest_g guest
# 给guest 用户设置密码
$ passwd guest # 需要连续输入2次密码
登录/登出guest 用户
$ su guest # 由root账户切换到guest账户
$ exit # 切换到guest用户后,可以直接使用exit命令返回root账户
这时候guest账户可以在控制台进行登陆了,但是WebUI还不能使用guest账户进行登录,还需要进行如下配置
# cat /etc/config/rpcd
config rpcd
option socket /var/run/ubus/ubus.sock
option timeout 30
config login
option username 'root'
option password '$p$root'
list read '*'
list write '*'
# 增加如下代码
config login
option username 'guest'
option password '$p$guest'
list read '*'
list write '*'
修改完上述配置后,需要执行reload_config让配置生效,之后webUI就可以使用guest账户进行登录了。

至此,openwrt添加普通用户的部分就已经讲完了,接下来继续介绍普通用户的一些权限控制问题。

最低0.47元/天 解锁文章
2455

被折叠的 条评论
为什么被折叠?



