gpt4 book ai didi

linux - 从 perl 脚本中删除权限?

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:29:54 26 4
gpt4 key购买 nike

我有一个以 root 身份运行的 perl 脚本,我想从其中以较低权限用户 foo 的身份执行系统命令 bar。所以我的 system 调用包装如下:

sub dosys
{
system(@_) == 0
or die "system @_ failed: $?";
}

所以我想说:

as user foo dosys("bar")

我可以使用 perl 或底层 bash shell 中的机制来执行此操作吗? (如果可能的话,我更喜欢不需要安装额外的 cpan 库的)

最佳答案

POSIX module是一个Perl核心模块,包含以下功能:

  • setuid()
  • setgid()

及相关get*id()函数,尽管这些值也可以通过特殊变量获得:

  • $)$( (有效且真实的 GID)
  • $<$> (有效且真实的 UID)

您也可以尝试直接设置它们(根据 $EGID$UID )。

关于linux - 从 perl 脚本中删除权限?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15914780/

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