微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 在sudo调用的Bash脚本中识别用户

如果我创建包含以下内容的脚本/root/bin/whoami.sh:

#!/bin/bash
whoami

并且这个脚本由具有正确配置的sudo的用户调用,它将指示

root

有没有快速方法获取脚本中的实际用户,还是我必须求助于传递此用户名的参数?

解决方法:

如果你使用sudo su – $SUDO_USER不起作用.
它还需要多次检查 – 如果$USER ==’root’则获得$SUDO_USER.

而不是命令whoami使用谁是我.这将运行为当前会话筛选的who命令.它为您提供了比您需要的更多信息.所以,这样做只是为了得到用户

who am i | awk '{print $1}'

或者(并且更简单),您可以使用logname.它与上述声明的作用相同.

这将为您提供登录到会话的用户名.

这些工作无论sudo还是sudo su [无论如何].无论su和sudo被调用多少次,它也都有效.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐