【问题标题】:Print environment variables of all users打印所有用户的环境变量
【发布时间】:2021-02-16 04:11:16
【问题描述】:

我在互联网上到处搜索,以找到一种在 linux 服务器上显示所有用户(以 root 身份)的所有环境变量的方法。

我尝试编写一个脚本来运行 envprintenv 作为系统上每个可用的用户,但我想知道一种更简单的方法。

你能帮帮我吗?

谢谢。

【问题讨论】:

  • 如何使用 find /proc -name "environ" -exec cat '{}' \;

标签: linux bash environment-variables


【解决方案1】:

AFAIC 您不能使用单个命令一次为所有用户获取它,但对于单个用户:

# RHEL
sudo -Hiu $USER env

# Deb
su - $USER -c 'printenv'

了解这一点后,您可以创建脚本,例如:

#!/bin/bash
for USER in $(grep /home /etc/passwd | cut -d: -f1)
do
  echo "==== User: ${USER}"
  su - $USER -c 'printenv'
done

【讨论】:

  • 您好 Facty,非常感谢您的回答。不幸的是,我担心 sudo 没有安装,因为我得到“sudo command not found”。我可能会遗漏一些东西,但是如果不使用“sudo”,我不能以 root 身份执行此操作吗?
  • 有趣:) .... 那你可以试试su - $user -c 'printenv' 你用的是什么发行版?
  • 我正在使用 Debian 9。它现在就像一个魅力,非常感谢你的时间,它帮助了我很多! :) 使用 su 正是我所缺少的!
  • 很高兴能帮助并回馈社区:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2019-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-01-29
  • 1970-01-01
  • 2016-10-10
相关资源
最近更新 更多