加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

如何以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

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读