在我的公司,我们都有主目录/home/user
,我想测试其他用户的初始化设置,但在/home
目录中,通常我只能看到自己的用户名。但是,如果我知道其他人的用户名,有时也知道一两个人的用户名,我就可以访问他们的/home/otheruser
。
所以问题归结为我必须先知道他们的用户名。我想尝试用[a-z]
; if [ -d "/home/asuer"]; then testinitializesetting
fi 遍历字母组合。但集合太大,技术上不可能。有人知道如何列出所有用户名,即使它们可以访问但未显示?此外,目录中的 ls -a/home
也不起作用。
答案1
您可能应该能够运行以获取系统中getent passwd
每个条目的列表。然后您可以抓取第一个字段,例如passwd
getent passwd | cut -f1 -d:
但这也将包括系统帐户,因此不仅仅是“普通”用户