我是一名软件开发人员,突然发现自己必须扮演系统管理员的角色。
最近,有人将一个之前由其他人管理的盒子交给了我,而这个系统管理员只是按照他的意思行事。我的主管将这个盒子交给了系统管理员,看起来用户的主目录隐藏在盒子的各个地方。
不用说,他的问题的答案是“嘿,实习生!”
所以,我想知道是否有办法找到机器上所有用户的所有主目录?我正在使用的机器是 RHEL 5。
答案1
假设所有用户都是本地用户(即没有网络目录服务,如 LDAP、Active Directory、NIS 等),那么本地用户可能全部枚举在 中/etc/passwd
,这是一个以冒号分隔的文件,包含以下字段:
username:password:uid:gid:name:home directory:shell
如果这样更简单的话,您可以只获取用户名和主目录,如下所示:
awk -F: '{print $1,$6}' /etc/passwd
使用 Urgoll 的建议使用该getent
命令,即:
getent passwd | awk -F: '{print $1,$6}'
答案2
你真幸运!你想要的一切都有了/etc/passwd
:-)
例如:
jay:x:1000:1000:Jay Shah,,,:/home/jay:/bin/bash
我的用户名 在哪里jay
,1000
我的 uid/gid 在哪里,/home/jay
我的主目录 在哪里,/bin/bash
我的 shell 在哪里。