sudo之前的用户名

Modified on: Fri, 17 May 2019 12:00:02 +0800

我有一个需要sudo的脚本,但脚本必须根据原始用户设置参数,例如:

chown "${USER}:${USER}" dir

如果我在sudo下设置它,我最终会得到chmod root:root,这没有帮助。

那么如何在sudo之前获取用户名?

最佳答案

环境变量SUDO_USER应该可以替代USER。

由于您将所有权设置为USER:USER我假设总有一个组与用户名称相同?否则,更严格的解决方案可能是使用SUDO_UID和SUDO_GID。

然后有两种可能的解决方案:

chown "${SUDO_USER}:${SUDO_USER}" dir

chown "${SUDO_UID}:${SUDO_GID}" dir
作者:andol

相关问答

添加新评论