3
# Unix SMB/CIFS implementation.
4
# Copyright (C) Volker Lendecke 2008
5
# Copyright (C) Stefan Metzmacher 2008
7
# Extract our own machine pw from secrets.ldb
9
# This program is free software; you can redistribute it and/or modify
10
# it under the terms of the GNU General Public License as published by
11
# the Free Software Foundation; either version 3 of the License, or
12
# (at your option) any later version.
14
# This program is distributed in the hope that it will be useful,
15
# but WITHOUT ANY WARRANTY; without even the implied warranty of
16
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
17
# GNU General Public License for more details.
19
# You should have received a copy of the GNU General Public License
20
# along with this program. If not, see <http://www.gnu.org/licenses/>.
23
import samba.param as param, ldb, sys, getopt
25
optlist, args = getopt.getopt(sys.argv[1:], "s:")
27
conf = param.LoadParm()
33
print(v + " not found")
40
path=conf.get("private dir") + "/secrets.ldb"
41
netbios=conf.get("netbios name")
43
secrets = ldb.Ldb(path)
45
search = "(&(objectclass=primaryDomain)(samaccountname=" + \
48
msg = secrets.search(expression=search, attrs=['secret'])
52
print "Password for host[%s] not found in path[%s]." % (netbios, path)
53
print "You may want to pass the smb.conf location via the -s option."
56
password=msg[0]['secret'][0]