从 bash 查找用户的主页

从 bash 查找用户的主页

我正在尝试从 puppet 脚本中获取用户主页的值。此特定用户是 Samba 用户,而不是本地用户,其用户名形式为DOMAIN\user

我尝试了以下操作,但没有成功:

  • echo "~DOMAIN\\user"(输出精确的输入)
  • getent passwd DOMAIN\\user(不输出任何内容,使用 getent passwd 甚至没有列出用户)

我很惊讶 getent 没有工作,因为它被配置为这样做:

$ cat /etc/nsswitch.conf | grep passwd
passwd: compat winbind

使用该作品的简单 C 程序getpwnam,但从 puppet 中包含和使用它会有问题。

我怎样才能从 puppet 或简单的 shell 命令检索用户的主页?

答案1

我不知道桑巴在这里面扮演什么角色,但除此之外...

finger -mlp $USER | grep Directory | cut -f2 -d ' '

(尽管这需要进行一些调整来处理路径中的空格)

答案2

为了使getent调用有效,只需将参数括在单引号中'

getent passwd 'DOMAIN\user'

相关内容