gpt4 book ai didi

macos - 在 Mac/Linux 上更改进程的用户所有者?

转载 作者:行者123 更新时间:2023-12-02 00:27:56 25 4
gpt4 key购买 nike

我有一个以 root 身份运行的程序。此应用程序调用另一个程序 (processA) 来运行。当 processA 运行时,它归 root 所有,但我希望它的所有者是当前登录的用户。怎么做?

最佳答案

嗯,这有点棘手...取决于它是守护进程(服务)还是您运行此命令/应用程序。

对于第二种情况,您可以使用"su" 命令。这是一个简短的例子。

<强>1。我创建了一个包含以下内容的简单脚本(它将在后台休眠 100 秒并输出与该脚本对应的进程列表):

#!/bin/bash
sleep 100 &
ps faux | grep test.sh

<强>2。我像这样运行“su”命令(我目前以“root”身份登录,我想以“sandbox”用户身份运行此脚本):

su - sandbox -c ./test.sh

sandbox = 将运行此命令的用户名。-c ./test.sh = 表示它将执行此命令

<强>3。输出(第一列=拥有此进程的用户):

root@i6:/web-storage/sandbox# su - sandbox -c ./test.sh
sandbox 18149 0.0 0.0 31284 1196 pts/0 S+ 20:13 0:00 \_ su - sandbox -c ./test.sh
sandbox 18150 0.0 0.0 8944 1160 pts/0 S+ 20:13 0:00 \_ /bin/bash ./test.sh
sandbox 18155 0.0 0.0 3956 644 pts/0 S+ 20:13 0:00 \_ grep test.sh
root@i6:/web-storage/sandbox#

希望对你有帮助斯特凡

关于macos - 在 Mac/Linux 上更改进程的用户所有者?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8140884/

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