5

我必须用来sudo运行我的程序:

 sudo ./my_program

我正在尝试git clone从我的程序运行,但它尝试使用 root 用户的 SSH 密钥而不是我的。有没有办法以最初调用我的程序的用户身份执行这个命令?

我想我可以做到:

su - original_user -c "git --version"

但是我如何找出原始用户的用户名?还是有另一个优雅的解决方案?

4

2 回答 2

3

sudo手册显示应该$SUDO_USER给你原始用户的用户名并$SUDO_UID给出原始用户的 UID。

于 2012-05-28T03:31:58.900 回答
0

在从 Web 应用程序创建文件时,我在 NAS 上遇到了 Samba 问题。

在这种情况下,我检索了正在运行的进程并确定了哪个用户正在运行 samba。隔离该名称后,我拥有了正确的用户帐户。也许这也适用于您的情况?

在这种情况下,我想您需要过滤 ps 输出并查找程序的名称。通过在 bash 上测试它是否有效。

于 2012-05-28T03:30:05.440 回答