当前位置: 首页 > news >正文

自己电脑做网站用备案什么网站发布找做效果图的

自己电脑做网站用备案,什么网站发布找做效果图的,建设工程施工合同通用条款,上海网址一360导航文章目录 1 如何新增普通用户2 如何以普通用户权限运行服务3 普通用户如何访问root账户的ubus服务4 其他权限控制5 参考 Openwrt系统在默认情况下只提供一个 root账户#xff0c;所有的服务都是以 root权限运行的#xff0c;包括 WebUI也是通过root账户访问的#xff0c;… 文章目录 1 如何新增普通用户2 如何以普通用户权限运行服务3 普通用户如何访问root账户的ubus服务4 其他权限控制5 参考 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 menuconfigBase system Login/Password Management Utilitiessu 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 rpcdoption socket /var/run/ubus/ubus.sockoption timeout 30config loginoption username rootoption password $p$rootlist read *list write *# 增加如下代码 config loginoption username guestoption password $p$guestlist read *list write *修改完上述配置后需要执行reload_config让配置生效之后webUI就可以使用guest账户进行登录了。 至此openwrt添加普通用户的部分就已经讲完了接下来继续介绍普通用户的一些权限控制问题。 2 如何以普通用户权限运行服务 当支持多用户之后我们可能会有一些服务并不想(也没有必要)以root权限运行所以我们需要以普通用户权限运行这些服务这也是Openwrt系统支持的。 以普通用户权限运行服务配置方法也比较简单在服务的启动脚本中新增一条命令即可 procd_set_param user guest # run service as user guest完整示例如下 #!/bin/sh /etc/rc.common START12USE_PROCD1 NAMEhelloworld PROG/sbin/helloworldstart_service() {procd_open_instanceprocd_set_param command $PROG procd_set_param respawnprocd_set_param stdout 1 procd_set_param stderr 1 procd_set_param user guest # run service as user guestprocd_close_instance }执行结果 $ ps | grep helloworld1048 guest 1700 S /sbin/helloworld3 普通用户如何访问root账户的ubus服务 有时候有些重要的服务程序必须要以root权限运行而且这些服务可能会对外提供一些ubus method如果希望以普通权限运行的服务也能访问这些ubus method那么就需要使用openwrt 提供的ACL(Access Control List)机制。 拿openwrt自带的系统服务为例当我们以root账户登录并执行ubus list时可以看到当前系统中所有的ubus method示例如下 # ubus list # root账户执行可以list出当前系统所有的ubus 对象 dhcp dnsmasq dnsmasq.dns file hostapd hotplug.dhcp hotplug.ieee80211 hotplug.iface hotplug.neigh hotplug.net hotplug.ntp hotplug.tftp iwinfo log luci luci-rpc network network.device network.interface network.interface.lan network.interface.loopback network.interface.wan network.interface.wan6 network.rrdns network.wireless rc service session system uci如果我们再切换到guest账户再次执行ubus list guestOpenWrt:~$ ubus list dnsmasq.dns可以看到执行完ubus list后只出现了一个dnsmasq.dns,其他什么信息也没有这是因为ubusd服务是以root权限运行的ubusd会检查client是否有权限访问ubus总线这也称为ACL检查显然guest用户暂时没有权限访问ubus总线所以也就看不到注册到ubus总线上面的method了。 那为什么这里会有一个dnsmasq.dns呢这个放在最后解释。 不过openwrt也给出了相应的解决办法——ACL我们可以加一条我们自己的ACL规则让ubusd允许普通用户能够访问特定的ubus对象示例如下 # cat /usr/share/acl.d/system_acl.json {user: guest,access: {system: {methods: [ board, info ]}} }ACL规则文件统一放在 /usr/share/acl.d/目录下它们是用json文件描述(需要注意json的语法格式)上述配置的作用是允许guest用户访问system对象的board和info方法。 特别注意*.json 文件的权限必须是644ubusd会检查该文件权限是否符合要求。 增加ACL规则后可以执行如下命令让ubusd重新加载ACL文件(也可以直接reboot重启) $ ps | grep ubusd716 ubus 1368 S /sbin/ubusd $ kill -1 716 # 给ubusd发送 SIGHUP(1)信号触发ubusd重启加载ACL文件ubusd重新加载system_acl.json后再次执行ubus list $ ubus -v list # 可以看到system对象的board 和 info 2个method了 system 5e41cdeeboard:{}info:{}$ ubus call system board # 调用 system-board method也是正常的 {kernel: 5.15.155,hostname: OpenWrt,system: ARMv8 Processor rev 4,model: Bananapi BPI-R64,board_name: bananapi,bpi-r64,rootfs_type: squashfs,release: {distribution: OpenWrt,version: 23.05-SNAPSHOT,revision: r238614-447eef2063,target: mediatek/mt7622,description: OpenWrt 23.05-SNAPSHOT r238614-447eef2063} }如果需要同时添加多个method的访问权限也可以一次性新增多个 {user: guest,access: {system: {methods: [ board, info ]},log: {methods: [read]},network:{methods:[restart,reload]},network.device:{methods:[status]}} }最后就回到刚开始dnsmasq.dns的问题了首先这个dnsmasq.dns并不是一个ubus method它是一个ubus subscribe也就是订阅服务其他client 如果对此事件感兴趣可以订阅它当对应的事件发生时client就会收到通知消息。 为什么guest用户没有添加任何ACL规则就可以看到它呢因为所见不一定所得看到不一定可用。 $ ubus list dnsmasq.dns $ ubus subscribe dnsmasq.dns # 尝试订阅这个服务 Error while registering for event dnsmasq.dns: Not found 尝试订阅这个服务却提示Not found ,其本质原因还是权限问题解决这个问题的方法还是添加ACL规则可以继续添加到之前的json中 {user: guest,access: {system: {methods: [ board, info ]},log: {methods: [read]},network:{methods:[restart,reload]},network.device:{methods:[status]}},subscribe:[dnsmasq.dns,] }添加subscribe的规则后触发ubusd重载ACL文件然后再次订阅一切正常。 $ ubus list dnsmas q.dns log network network.device system guestOpenWrt:/root$ ubus subscribe dnsmasq.dns如果需要添加多个订阅的对象接着dnsmasq.dns后面新增即可。 4 其他权限控制 限制普通用户可执行的命令例如限制普通用户执行reboot、shutdown、poweroff、mount等指令。 限制普通用户可访问/修改的文件例如禁止普通用户访问 /etc/config/system配置文件。 这些基本上都可以通过chmod指令来配置这部分就不再做详细介绍。 5 参考 为 OpenWrt 增加用户且开放访问 WebUI 权限 UBUS ACL Procd Service Parameters
http://www.w-s-a.com/news/682180/

相关文章:

  • 网上商城网站设计免费咨询口腔科医生回答在线
  • 南京网站c建设云世家 s浏览器
  • 如何做镜像别人网站wordpress菜单对齐修改
  • 长春网站建设net企业公示信息查询官网
  • 金鹏建设集团网站可在哪些网站做链接
  • 电子产品网站开发背景网站关键词优化方案
  • 建网站论坛wordpress提交数据库错误
  • 国内网站建设公司开源网站系统
  • 网站开发公司上大连网站建设流程图
  • 银川网站seo宁波网
  • 个人备案网站会影响吗网站添加 备案
  • 网站建设与电子商务的教案关于旅游网站建设的方案
  • 电子商务网站建设设计原则找做网站找那个平台做
  • 天津高端品牌网站建设韶关网站建设墨子
  • Wordpress多站点为什么注册不了2008iis搭建网站
  • 天津高端网站制作建网站的公司服务
  • 温州网站推广优化类似淘宝的网站怎么做的
  • 网站建设实训考试什么网站做玩具的比较多
  • 上海网站建设特点怎样给公司做一个网站做推广
  • 流量网站怎么做的济南优化排名公司
  • 保定网站制作套餐设计师导航网站大全
  • 惠州 商城网站建设石家庄新闻广播在线收听
  • 洪山网站建设域名购买之后怎么做网站
  • 北京网站建设公司服务哪家好wap是什么意思?
  • 怎么看公司网站做的好不好哦wordpress页面目录下
  • 做装修业务呢有多少网站平台搭建是什么
  • 潍坊优化网站排名淘宝做网站被骗
  • 建设专业网站的利弊免费logo设计生成器下载
  • 怎么在备案号添加网站网页设计动画网站
  • 网站开发 只要wordpress滑动注册