Linux

從 bash 中查找使用者的家

  • April 23, 2014

我試圖從木偶腳本中獲取使用者家的價值。此特定使用者是 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 命令中檢索使用者的家?

我不知道 Samba 在這方面的表現如何,但除此之外……

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

(儘管這將需要一些調整來處理路徑中的空格)

要使getent呼叫起作用,只需將參數括在單引號中'

getent passwd 'DOMAIN\user'

引用自:https://serverfault.com/questions/585578