更大的目标:
编写针对课堂学校环境的批处理用户管理器。
问题
我想编写一个用户管理器,它使用 GUI 为课堂环境添加、管理和删除用户。我正在开发的程序是ltsp-manager。
到目前为止,所有的用户管理都是通过执行 bash 命令来完成的。来自 python 脚本。这意味着所有的 GUI 都必须以 root 身份运行,并且一切都是手工制作的。
目标
创建一个处理所有帐户管理的 Dbus 服务,并让 GUI 以不时需要密码的普通用户身份运行。
我环顾四周,发现org.freedesktop.Accounts
已经有一个服务在做很多我想做的功能。但是,它也缺少一些。完全缺少的是组的管理。
使用该org.freedesktop.Accounts
功能并添加一些其他功能/方法的好方法是什么?
思念至今
我想到的事情包括:
- 只是重做所有事情——这意味着很多重复的工作。
- 复制接口并编写调用原始接口的函数
- 编写一个只实现附加功能而不触及原始功能的服务。然后客户端将使用原始服务和新编写的服务。
我所有的测试实验都完成了python3
,pydbus
这似乎是许多人中最好的选择。
我从未编写过真实世界的 dbus 服务——尽管实验确实在d-feet
. 这个问题实际上并不是我需要输入什么类型的问题,而是一个最佳实践问题。