【发布时间】:2015-09-09 14:21:52
【问题描述】:
我为 webmin 创建了一个小型自定义模块,该模块使用 perl 命令以及创建移动或删除文件的外部 bash 脚本执行复制移动和其他文件操作。 我想以非 root 用户身份运行所有这些(据我所知,所有这些都以 root 身份运行,因为 webmin 服务是以 root 身份启动的) 有没有办法将模块配置为以登录用户甚至特定用户的身份执行所有操作?
【问题讨论】:
我为 webmin 创建了一个小型自定义模块,该模块使用 perl 命令以及创建移动或删除文件的外部 bash 脚本执行复制移动和其他文件操作。 我想以非 root 用户身份运行所有这些(据我所知,所有这些都以 root 身份运行,因为 webmin 服务是以 root 身份启动的) 有没有办法将模块配置为以登录用户甚至特定用户的身份执行所有操作?
【问题讨论】:
在我的笔记中
switch_to_remote_user()
成为Usermin模块中的远程登录,但是我已经很久没有写过webmin模块了,所以这是我唯一能提供的线索。
也许你可以只使用标准的 perl。如果您知道用户 ID(即数字,例如 1000),
您想将有效用户切换到,请执行$> = 1000;。
您可以使用 $uid = getpwnam($name); 从名称中查找号码。
【讨论】: