如何以非root身份从自定义webmin模块执行命令

how to execute command from custom webmin module as non root

我为 webmin 创建了一个小的自定义模块,该模块使用 perl 命令以及创建移动或删除文件的外部 bash 脚本执行复制移动和其他文件操作。 我想 运行 所有这些都是非 root 用户(根据我的理解 运行 作为 root 因为 webmin 服务是作为 root 启动的) 有没有一种方法可以将模块配置为以登录用户或特定用户身份执行所有操作?

我的笔记里有

switch_to_remote_user()

成为Usermin模块中的远程登录,但是我已经很久没有写过webmin模块了,所以这是我唯一能提供的线索。


也许你可以只使用标准的 perl。如果您知道用户 ID(即数字,例如 1000) 要将有效用户切换到,请执行 $> = 1000;。 您可以使用 $uid = getpwnam($name);.

从名称中查找号码