gpt4 book ai didi

python - 如何以特定用户身份调用 Python 脚本中存在的命令

转载 作者:太空宇宙 更新时间:2023-11-04 04:05:06 31 4
gpt4 key购买 nike

我遇到了这样的问题:由于许可限制,我拥有的第三方脚本只能由特定的 LINUX 用户调用。我正在使用 Python 脚本来调用这个第三方脚本并传递我的参数。由于我的脚本以“NOBODY”用户身份运行,因此我无法执行此第三方脚本。因此,当我调用命令时,我想在 python 脚本中将用户从无人更改为此许可用户,并在执行到无人时切换回来。

下面是我在 python 脚本中调用第三方脚本的方式,

__command__ = '/skint/scripts/check "%(dirname)s" "%(filename)s"'

args = {
'dirname': dirname,
'filename': filename
}

command = self.__command__ % args

有人可以帮助我如何更改用户吗?我在 Linux 机器上使用 Python 2.6

最佳答案

您必须su(切换用户):man page about su

这里的问题是,当脚本尝试切换时,它会显示提示。为了避免这种情况,您必须设置文件的粘滞位并设置替代用户:

Oracle explains here setuid() and setgid()

现在,这并不是很简单,但我无法为您提供更多帮助,我从未使用过它,我只在 The LPI 中研究过它。 .

请注意,它在 Linux 上的工作方式与 BSD 上不同,因此请注意您到底使用什么。

关于python - 如何以特定用户身份调用 Python 脚本中存在的命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21516936/

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