我正在尝试从 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'