我必须用来sudo
运行我的程序:
sudo ./my_program
我正在尝试git clone
从我的程序运行,但它尝试使用 root 用户的 SSH 密钥而不是我的。有没有办法以最初调用我的程序的用户身份执行这个命令?
我想我可以做到:
su - original_user -c "git --version"
但是我如何找出原始用户的用户名?还是有另一个优雅的解决方案?
sudo
手册显示应该$SUDO_USER
给你原始用户的用户名并$SUDO_UID
给出原始用户的 UID。
在从 Web 应用程序创建文件时,我在 NAS 上遇到了 Samba 问题。
在这种情况下,我检索了正在运行的进程并确定了哪个用户正在运行 samba。隔离该名称后,我拥有了正确的用户帐户。也许这也适用于您的情况?
在这种情况下,我想您需要过滤 ps 输出并查找程序的名称。通过在 bash 上测试它是否有效。