gpt4 book ai didi

perl - 如何以 root 身份运行 Perl 脚本但仍然影响用户 gconf 设置

转载 作者:行者123 更新时间:2023-12-05 00:40:14 24 4
gpt4 key购买 nike

新查询:我正在尝试制作一个统一脚本,根据我的喜好初始化新的 Ubuntu 安装,它必须在 sudo 下运行才能安装软件包,但是使用 gconftool-2 来影响 gconf 设置依赖于未处理的 dbus session 通过仅在脚本中简单地更改 UID 的方法来正确地进行。有人知道如何做到这一点吗?

旧问题:我正在编写要在新 Ubuntu 安装的第一次启动时执行的 Perl 脚本。这是为了简化添加存储库、安装软件包和设置 gconf 设置。我的问题是权限。要安装软件包,我需要将脚本作为 sudo 执行,但是 gconftool-2 调用会作用于 root 用户而不是我的个人用户。

最佳答案

您可以通过使用 POSIX::setuid() 更改 uid 来更改脚本中间的 uid。 (见 perldoc POSIX):

use POSIX 'setuid';

# call cpan to install modules...

POSIX::setuid($newuid);

# ... continue with script

关于perl - 如何以 root 身份运行 Perl 脚本但仍然影响用户 gconf 设置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3875715/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com