Linux
從 Linux 確定 Windows 電腦上的登錄使用者
如何確定誰從 Linux 登錄到遠端 Windows XP 電腦?我在域或遠端電腦上沒有管理員訪問權限。
我可以使用 PsTools 在單獨的 Windows 電腦上執行
PsLoggedOn -L \\computer
此操作我試過使用
nmblookup -A remotecomputer
,但我只看到電腦和域的條目,而不是<03>
使用者的條目。我也試過在 wine 下執行 PsLoggedOn;我收到一個錯誤:
正在連接到 \\computer.company.com 的系統資料庫... fixme:reg:RegConnectRegistryW 不支持連接到 L"computer.company.com"。
我開始研究winexe,但看起來我需要遠端電腦上的管理權限才能使其正常工作。
我發現瞭如何在 Linux 電腦上使用 Samba 來做到這一點。
我安裝並配置了 Kerberos 和 Samba 以訪問域。我修改了
/etc/samba/smb.conf
,/etc/krb5.conf
和/etc/hosts
.net
然後我使用了腳本中的一些命令(net
是 Samba 的命令行界面):net rpc registry enumerate 'HKEY_USERS' -S xpcomputer.ad.company.com -U 'username@AD.COMPANY.COM%password'
給出目前在系統資料庫中載入的使用者的安全標識符列表:
Keyname = .DEFAULT Modtime = Thu, 02 Dec 2010 14:31:14 EST Keyname = S-1-5-19 Modtime = Thu, 02 Dec 2010 14:31:16 EST Keyname = S-1-5-19_Classes Modtime = Thu, 02 Dec 2010 14:31:16 EST Keyname = S-1-5-20 Modtime = Thu, 02 Dec 2010 14:31:16 EST Keyname = S-1-5-20_Classes Modtime = Thu, 02 Dec 2010 14:31:16 EST Keyname = S-1-5-21-8915387-325552579-1798637320-4573 Modtime = Fri, 03 Dec 2010 22:53:39 EST Keyname = S-1-5-21-8915387-325552579-1798637320-7772 Modtime = Wed, 08 Dec 2010 07:51:26 EST Keyname = S-1-5-21-8915387-325552579-1798637320-7772_Classes Modtime = Wed, 08 Dec 2010 07:51:26 EST Keyname = S-1-5-18 Modtime = Thu, 02 Dec 2010 14:31:14 EST
然後我執行
net ads sid
命令以根據使用者 SID 查找活動目錄條目。這可能只適用於域使用者;我不確定它是否適用於使用本地帳戶登錄的使用者。似乎如果有多個 SID,唯一有效的是具有相應“_Classes”條目的 SID。net ads sid 'S-1-5-21-8915387-325552579-1798637320-7772' -W COMPANY -U 'username@AD.COMPANY.COM%password'
這會產生一些錯誤,但仍會導致列印使用者的整個 Active Directory 資訊。它相當慢,可能是由於錯誤,所以我可能會記憶體 SID 到使用者名的映射。
[2010/12/08 10:03:00, 0] libads/kerberos.c:882(create_local_private_krb5_conf_for_domain) create_local_private_krb5_conf_for_domain: smb_mkstemp failed, for file /var/run/samba/smb_tmp_krb5.HpBqKJ. Errno Permission denied [2010/12/08 10:03:02, 0] libads/kerberos.c:882(create_local_private_krb5_conf_for_domain) create_local_private_krb5_conf_for_domain: smb_mkstemp failed, for file /var/run/samba/smb_tmp_krb5.BCzT0T. Errno Permission denied Got 1 replies objectClass: top objectClass: person objectClass: organizationalPerson objectClass: user cn: [Lastname], [Firstname] sn: [Lastname] c: US physicalDeliveryOfficeName: ... telephoneNumber: ... ...(many more fields)... mailNickname: FLastname ...
mailNickname 欄位包含使用者名(至少對於我迄今為止測試過的使用者而言)。