Portál AbcLinuxu, 12. května 2025 08:44
REM vytvoreni noveho lmhosts souboru
echo 192.168.1.5 JMENO_SERVERU_KDE_JE_PDC #PRE #DOM:DOMENA > %systemroot%\system32\drivers\etc\lmhosts
echo 192.168.1.5 "DOMENA \0x1b" #PRE >> %systemroot%\system32\drivers\etc\lmhosts
REM nucene znovunacteni zaznamu z lmhosts
nbtstat -R
U toho druhého echo je potřeba při změně domény zachovat délku 16 znaků.
Měl jsem hodně velké problémy, pokud přímo na PDC bylo víc interfaců s několika podsítěmi - nefungovalo přihlašování, protože server odpovídal src adresou z jiného subnetu. Bylo potřeba omezit Sambu jen na 1 IP adresu a používat výhradně tu: smb.conf
interfaces = 192.168.1.0/24 lo
socket address = 192.168.1.5
Je ale možné, že tohle už je v nových verzích Samby opravené. Tohle se mi stalo na Debianu etch, projevovalo se to jen občas a dlouho jsem nevěděl co s tím.
ldap admin dn
. A pokud by tento neměl možnost zápisu, tak by se podle mě nepovedlo ani prvotní zařazení do domény.
Každopádně podívat se do logu by měla být první věc.
Je v LDAPu po zařazení PC do domény vytvořený účet název_pc$
včetně Samba parametrů?
/etc/smb.conf:
[global]
dos charset = 852
unix charset = UTF-8
workgroup = DOMAINNAME
load printers = no
printcap name = /dev/null
server string = %h
interfaces = 192.168.1.0/24 lo
socket address = 192.168.1.5
wins support = no
name resolve order = dns hosts bcast
smb ports = 139
log file = /var/log/samba/log.%m
log level = 1
max log size = 1000
syslog = 0
security = user
map to guest = bad user
encrypt passwords = true
socket options = TCP_NODELAY SO_RCVBUF=8192 SO_SNDBUF=8192
add machine script = /etc/scripts/ldap-machineadd %u
logon script = logon.vbs
logon drive = H:
ldap suffix = dc=domena,dc=cz
ldap admin dn = cn=admin,dc=domena,dc=cz
ldap delete dn = yes
ldap machine suffix = ou=machines
ldap group suffix = ou=groups
ldap user suffix = ou=users
ldap idmap suffix = ou=idmap # nevyuziva se
ldap passwd sync = yes
passdb backend = ldapsam:ldap://localhost
domain master = yes
domain logons = yes
local master = yes
os level = 128
enable privileges = yes
inherit acls = yes
[homes]
browseable = no
writable = yes
valid users = %S
create mask = 0711
directory mask = 2711
inherit permissions = yes
map hidden = yes
map system = yes
csc policy = disable
[netlogon]
path = /home/netlogon
guest ok = yes
writable = yes
create mask = 0775
directory mask = 2775
map hidden = yes
map system = yes
Relevantní části /etc/ldap/slapd.conf
:
include /etc/ldap/schema/core.schema
include /etc/ldap/schema/cosine.schema
include /etc/ldap/schema/nis.schema
include /etc/ldap/schema/inetorgperson.schema
include /etc/ldap/schema/samba.schema
suffix "dc=domena,dc=cz"
access to attrs=userPassword
by dn="cn=admin,dc=spsostrov,dc=cz" write
by anonymous auth
by self write
by * none
access to attrs=sambaLMPassword,sambaNTPassword
by dn="cn=admin,dc=spsostrov,dc=cz" write
by * none
access to *
by dn="cn=admin,dc=spsostrov,dc=cz" write
by * read
Náznak struktury LDAPu:
dn: dc=domena,dc=cz
objectClass: top
objectClass: dcObject
objectClass: organization
o: domena.cz
dc: domena
dn: cn=admin,dc=domena,dc=cz
objectClass: simpleSecurityObject
objectClass: organizationalRole
cn: admin
description: LDAP administrator
userPassword:: xxx=
dn: ou=users,dc=domena,dc=cz
objectClass: top
objectClass: organizationalUnit
ou: users
dn: ou=groups,dc=domena,dc=cz
objectClass: top
objectClass: organizationalUnit
ou: users
dn: ou=machines,dc=domena,dc=cz
objectClass: top
objectClass: organizationalUnit
ou: users
/etc/scripts/ldap-machineadd
je vlastní nebo odněkud? (Zajímalo by mě, co je v něm)
smbldap-tools
, ale s těmi jsem měl kdysi nějaké potíže tak jsem se inspiroval skripty odtud:
http://ldap.zdenda.com/
trochu jsem je přepsal pro svoje potřeby a nad nimi mám ještě webové rozhraní.
Skript pro přidání účtu PC končí takhle:
# Finally insert all into LDAP as LDIF structure
printf "dn: uid=${LD_LOGIN},ou=machines,${LDAPBASEDN}
uid: ${LD_LOGIN}
objectClass: top
objectClass: inetOrgPerson
objectClass: posixAccount
uidNumber: ${NEWUID}
gidNumber: ${LDAPMACHINEGID}
loginShell: /bin/false
homeDirectory: /dev/null
cn: ${LD_LOGIN}
sn: ${LD_LOGIN}
" | ldapadd -h "${LDAPHOST}" -x -D "${LDAPADMIN}" -w "${LDAPPASS}"
Skript tedy vytvoří jen UNIX účet s názvem podle předaného parametru a ostatní parametry, jako třeba machine heslo, si už Samba zařídí.
Domain Admins (S-1-5-21-xxx-512) -> Domain Admins
Domain Users (S-1-5-21-xxx-513) -> Domain Users
Domain Guests (S-1-5-21-xxx-514) -> Domain Guests
Domain Computers (S-1-5-21-xxx-515) -> Domain Computers
Administrators (S-1-5-21-xxx-544) -> Administrators
Account Operators (S-1-5-21-xxx-548) -> Account Operators
Print Operators (S-1-5-21-xxx-550) -> Print Operators
Backup Operators (S-1-5-21-xxx-551) -> Backup Operators
Replicators (S-1-5-21-xxx-552) -> Replicators
nebo to mám mít namapované na unixové skupiny třeba pomocí tohoto:
#Map Windows Domain Groups to Unixgroups
net groupmap add rid=512 unixgroup=root type=d ntgroup="Domain Admins"
net groupmap add rid=513 unixgroup=users type=d ntgroup="Domain Users"
net groupmap add rid=514 unixgroup=nobody type=d ntgroup="Domain Guests"
#Map Windows XP local groups to local UNIX groups
net groupmap add rid=544 unixgroup=root type=l ntgroup="Administrators"
net groupmap add rid=545 unixgroup=users type=l ntgroup="Users"
net groupmap add rid=546 unixgroup=nobody type=l ntgroup="Guests"
net groupmap add rid=549 unixgroup=daemon type=l ntgroup="System Operators"
net groupmap add rid=548 unixgroup=wheel type=l ntgroup="Account Operators"
net groupmap add rid=551 unixgroup=bin type=l ntgroup="Backup Operators"
net groupmap add rid=550 unixgroup=lp type=l ntgroup="Print Operators"
net groupmap add rid=552 unixgroup=kmem type=l ntgroup="Replicators"
net groupmap add rid=547 unixgroup=ntadmin type=l ntgroup="Power Users"
adding entry for group Domain Admins failed
ntadmins
mapovaná na Domain Admins:
dn: cn=ntadmins,ou=groups,dc=domena,dc=cz objectClass: posixGroup objectClass: top objectClass: sambaGroupMapping cn: ntadmins sambaGroupType: 5 displayName: ntadmins sambaSID: S-1-5-21-xxx-xxx-xxx-512 gidNumber: 1100Někdy se uvádí, že je potřeba explicitně definovat mapování
Domain Users
a dalších. Mě to bez problémů funguje pouze s tou skupinou Domain Admins, k tomu samozřejmě ostatní uživatelské skupiny.
Běžné skupiny je potřeba mít nejprve vytvořené v LDAPu jen jako posixGroup a pak funguje:
net groupmap add unixgroup=nejakaskupina ntgroup=nejakaskupina type=dtedy bez uvedení
rid
.
posixGroup
, přes "průvodce"), nebo přímo jako LDIF. Nedoporučuji vytvářet v LDAPu stejné skupiny jako v /etc/group (tedy dávat tam skupinu root, nogroup ap.).
Vytvořte si v LDAPu třeba takovouhle skupinu:
dn: cn=ntadmins,ou=groups,dc=domena,dc=cz objectClass: posixGroup objectClass: top cn: ntadmins gidNumber: 1100Skupiny, které jsou v LDAPu, normálně fungují v Linuxu (
getent group
). Pro ně lze pak už nastavit Samba mapování. (Samozřejmě je třeba mít správně nastavený nsswitch, ale to snad máte.)
nbtstat -c
z toho PC s Windows
- celý smb.conf
- není na serveru více síťových rozhraní?
Připojení k místní síti:
Adresa IP uzlu: [10.0.0.160] ID oboru: []
Název vzdálené paměti NetBIOS Tabulka
Název Typ Adr. hostitele Životnost [sek]
----------------------------------------------------------------
SPSTL <1C> SKUPINA 10.0.0.1 -1
SPSTL <1B> JEDINEČNÉ 10.0.0.1 -1
A01 <03> JEDINEČNÉ 10.0.0.1 -1
A01 <00> JEDINEČNÉ 10.0.0.1 -1
A01 <20> JEDINEČNÉ 10.0.0.1 -1
povolení wins supports = Yes
Mne robila samba presne to iste. Stanicu som do domeny pripojil, ale po restarte pisalo, ze domena je nedostupna. Zacalo to robit odkedy som upgradol fedoru 8 na deviatku, kde bola samba v nejakej pre-release verzii (3.2.0-pre4 tusim). Nepomohol som si stym nijak, lebo do upgradu to slapalo bezchybne a na chybu som neprisiel. V logoch nic smerodatne. Mne to pripadalo na chybny wins server, lebo nmb tusim pisal v logoch nieco v zmysle "bad packet received
". Tak som bol nuteny spravit downgrade.
Preto neviem, ci s novou verziou (3.2) sa nejak zmenila funkcnost, alebo to bola vada len danej pre-release verzie. Pozeral som vtedy aj bugzillu na redhate ale nik podobne problemy ako ja nehlasil. Doteraz stale fungujem na fedore osmicke (samba 3.0.30) a s funkcnostou ziadne problemy.
Tiskni
Sdílej:
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.