[Dock] non-root用户能否不允许关闭/启用网络,除非经过polkit提权
Tofloor
poster avatar
sh******ng@163.com
deepin
2022-09-19 02:30
Author

我是一个Debian爱好者,最近因工作原因,需要使用UOS专业版(1050),平时用系统安装时第一个用户(no-root)登录X窗口,偶尔发现,鼠标移到任务栏右方网络图标上时,如不小心,易触发“关闭网络”功能。特别在用远程桌面登上去的话,如误触发,远程桌面被强制断开,必须到本机点击“启用网络”功能才能恢复网络,非常麻烦。通过打开networkmanager log的trace功能,发现“关闭/启用网络”是dde-system-daemon(root用户)发出的指令,所以,无论如何调整/usr/share/polkit-1/actions/org.freedesktop.NetworkManager.policy的内容,都无法控制non-root用户关闭/启用网络。

两点建议:

1、今后UOS专业版出厂时应提供定制版NetworkManager.policy,防止non-root用户无需polkit提权即可进行网络控制;

2、能否修改dde-system-daemon(root用户)发“关闭/启用网络”指令的机制,改为由non-root用户发指令,通过polkit提权后,方可起作用。

其实不光是任务栏,控制中心的网络设置存在同样问题,有线网卡的禁用/启用似乎也是root用户发出的指令,故不受polkit的policy控制。

关闭网络的配置保存在/var/lib/dde-daemon/network/config.json,重启也不能解除,需要重新手动启动网络,我已临时将config.json加了i属性,远程误关闭网络后,直接让同事硬关机后再开机。另外,除关闭/启用网络这一功能外,其他网络控制功能都通过non-root用户发出,可以通过调整NetworkManager.policy加以控制。

事后,我在虚拟机上测试了最新的uos家庭版,发现存在同样问题,我估计社区版也有类似情况,所以就在源头反馈了,如源头deepin不做调整的话,估计uos不会花精力改进此类小问题的。

Reply Favorite View the author
All Replies
Ziggy
deepin
2022-09-19 02:48
#1

专业版应该找他们销售传送需求

Reply View the author
sh******ng@163.com
deepin
2022-09-19 02:55
#2

关闭网络的配置保存在/var/lib/dde-daemon/network/config.json,重启也不能解除,需要重新手动启动网络,我已临时将config.json加了i属性,远程误关闭网络后,直接让同事硬关机后再开机。另外,除关闭/启用网络这一功能外,其他网络控制功能都通过non-root用户发出,可以通过调整NetworkManager.policy加以控制。

事后,我在虚拟机上测试了最新的uos家庭版,发现存在同样问题,我估计社区版也有类似情况,所以就在源头反馈了,如源头deepin不做调整的话,估计uos不会花精力改进此类小问题的。

Reply View the author
神末shenmo
deepin
Spark-App
Q&A Team
2022-09-19 03:35
#3
sh******ng@163.com

关闭网络的配置保存在/var/lib/dde-daemon/network/config.json,重启也不能解除,需要重新手动启动网络,我已临时将config.json加了i属性,远程误关闭网络后,直接让同事硬关机后再开机。另外,除关闭/启用网络这一功能外,其他网络控制功能都通过non-root用户发出,可以通过调整NetworkManager.policy加以控制。

事后,我在虚拟机上测试了最新的uos家庭版,发现存在同样问题,我估计社区版也有类似情况,所以就在源头反馈了,如源头deepin不做调整的话,估计uos不会花精力改进此类小问题的。

改这个应该需要让UOS提需求,所以你应该去UOS反馈然后让他们提?

Reply View the author
sh******ng@163.com
deepin
2022-09-19 04:50
#4

谢谢提醒,我看到uos论坛上提到,可以第一时间先尝试在ChinaUOS社区和deepin深度社区进行搜索,就直接在这里发帖子了。我这就去uos论坛-桌面专业版板块 反馈去😁

Reply View the author