Lazy Diary @ Hatena Blog

PowerShell / Java / miscellaneous things about software development, Tips & Gochas. CC BY-SA 4.0/Apache License 2.0

Samba 2.2.x でドメインの SID を知る

  • Samba 2.2.X には net コマンドが付いてこない。少なくとも .tar.gz パッケージの中からは net コマンドを作ることはできない。従って、ドメインの SID "net getlocalsid" として知ることはできない。

解決方法としては、Samba 3.0.x のバイナリパッケージを持ってきて、展開だけして、その中に入っている net コマンドを使う。Debian の場合、samba-common パッケージの中に net コマンドが入っているので、次のようにする。

hoge:~# sudo apt-get -d install samba-common
hoge:~# cp /var/cache/apt/archives/samba-common_3.0.X-X_i386.deb .
hoge:~# mkdir ~/tmp
hoge:~# dpkg -x samba-common_3.0.4-5_i386.deb tmp/
hoge:~# cd tmp/usr/bin/
hoge:~/tmp/usr/bin# ./net getlocalsid
[2004/07/18 08:05:12, 0] param/params.c:OpenConfFile(532)
  params.c:OpenConfFile() - Unable to open configuration file "/etc/samba/smb.conf":
        No such file or directory
SID for domain HOGE is: S-1-5-21-1234567890-123456789-1234567890
hoge:~/tmp/usr/bin# 

net コマンドは root 権限で実行しないと "PANIC: Could not generate a machine SID" "アボートしました" などと言われてしまう。エラーメッセージは長いので省略。