如何以root身份运行Perl脚本,但仍影响用户gconf设置
发布时间:2020-12-14 00:44:31 所属栏目:Linux 来源:网络整理
导读:新的问题:我正在尝试创建一个统一的脚本来初始化我喜欢的新Ubuntu安装,它必须在sudo下运行才能安装软件包,但是使用gconftool-2来影响gconf设置依赖于未处理的dbus会话通过简单地单独更改脚本中的UID的方法来正确实现.有人知道如何设法做到这一点? OLD QUER
新的问题:我正在尝试创建一个统一的脚本来初始化我喜欢的新Ubuntu安装,它必须在sudo下运行才能安装软件包,但是使用gconftool-2来影响gconf设置依赖于未处理的dbus会话通过简单地单独更改脚本中的UID的方法来正确实现.有人知道如何设法做到这一点?
OLD QUERY:我正在编写一个Perl脚本,要在新的Ubuntu安装的第一次启动时执行.这是为了方便添加存储库,安装包和设置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 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |