新问题:我正在尝试制作一个统一的脚本,根据我的喜好初始化新的 Ubuntu 安装,它必须在 sudo 下运行才能安装软件包,但使用 gconftool-2 影响 gconf 设置依赖于未处理的 dbus 会话通过简单地在脚本中更改 UID 的方法来正确地进行。有人知道如何做到这一点吗?
老问题:我正在编写一个 Perl 脚本,将在新安装的 Ubuntu 首次启动时执行。这是为了方便添加存储库、安装软件包和设置 gconf 设置。我的问题是权限。要安装软件包,我需要将脚本作为 sudo 执行,但随后 gconftool-2 调用将作用于 root 用户而不是我的个人用户。
您可以通过更改 uid 在脚本中间更改 uidPOSIX::setuid()
(see perldoc POSIX):
use POSIX 'setuid';
# call cpan to install modules...
POSIX::setuid($newuid);
# ... continue with script
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)