查找所有用户的主目录

esk*_*ife 3 home-directory rhel5

我是一名软件开发人员,突然发现自己不得不玩 SysAdmin。

最近,我收到了一个以前由其他人管理的盒子,这个系统管理员只是做了他想做的。我的主管得到了 SysAdmin 的盒子,看起来用户的主目录隐藏在盒子的任何地方。

不用说,他的问题的答案是“嘿实习生!”

所以,我想知道是否有办法找到盒子上所有用户的所有主目录?我正在开发的盒子是 RHEL 5。

lar*_*sks 7

假设所有用户都是本地用户(即没有 LDAP、Active Directory、NIS 等网络目录服务),那么本地用户可能都被枚举在 中/etc/passwd,这是一个冒号分隔的文件,包含以下字段:

username:password:uid:gid:name:home directory:shell
Run Code Online (Sandbox Code Playgroud)

你可以只获得用户名和主目录,如果这样更容易的话,像这样:

awk -F: '{print $1,$6}' /etc/passwd
Run Code Online (Sandbox Code Playgroud)

使用 Urgoll 的使用getent命令的建议,那就是:

getent passwd | awk -F: '{print $1,$6}'
Run Code Online (Sandbox Code Playgroud)