Ewa Skrenty
Uczelniane Centrum Informatyczne, UMK
W projekcie Samba informacje o koncie użytkownika takie jak nazwa użytkownika, uid, zakodowane hasła LANMAN/NT, flagi, data ustawienia hasła zazwyczaj są przechowywane w zakodowanym pliku smbpasswd. Ograniczenia takiego podejścia (brak możliwości przechowywania dodatkowych atrybutów, trudności w replikowaniu pliku smbpa sswd, konieczność sekwencyjnego wykonywania zapytań) zmusiły twórców projektu do skonstruowania efektywniejszych metod przechowywania atrybutów użytkownika. W niniejszym dokumencie opisany jest sposób wykorzystania protokołu LDAP do przechowywania informacji o koncie użytkownika lub stacji roboczej w Sambie.
W dokumencie jest przedstawiony opis konfiguracji serwera SMB dla Samby-TNG i Samby 2.2.x w oparciu o serwer OpenLDAP 2.0.x (ldap v.3). Informacje dotyczące instalacji serwera OpenLDAP można znaleźć w OpenLDAP 2.0 Administrator's Guide. Przyjmujemy, że serwer OpenLDAP został zainstalowany w katalogu /usr/local/openldap/.
Zawartość
1.Konfiguracja Samby 2.2.x i serwera OpenLDAP
1.1 Instalacja Samby
1.2 Konfiguracja serwera LDAP
1.3 Wprowadzenie podstawowych danych do serwera LDAP
1.4 Konfiguracja i uruchomienie serwera SMB
1.5 Tworzenie nowych kont
2. Konfiguracja Samby TNG i serwera OpenLDAP
2.1 Instalacja Samby
2.2 Konfiguracja serwera LDAP
2.3 Wprowadzenie
podstawowych danych do serwera LDAP
2.4 Konfiguracja i uruchomienie serwera SMB
2.5 Tworzenie nowych kont
$ cvs -d :pserver:cvs@pserver.samba.org:/cvsroot login
$ CVS password: <cvs>
$ cvs -z3 -d :pserver:cvs@pserver.samba.org:/cvsroot co -r SAMBA_2_2 samba
Źródła pakietu zostaną umieszczone w katalogu samba. Przed konfiguracją i instalacją należy skopiować biblioteki i nagłówki ldap-a w domyślne miejsce np. /usr/lib i /usr/include:
$ cp -p /usr/local/openldap/include/* /usr/include
$ cp -p /usr/local/openldap/lib/* /usr/lib
Instalacja pakietu wymaga wykonania standardowych kroków instalacyjnych. Dodatkowo należy podczas konfiguracji ustawić opcję with-ldapsam, co umożliwi współpracę Samby z LDAP-em. Wykonujemy:
$ ./configure --prefix=/usr/local/samba --with-ldapsam
$ make
$ make install
1.2 Konfiguracja serwera LDAP
Do współpracy serwera LDAP z Sambą niezbędna jest odpowiednia konfiguracja pliku slapd.conf znajdującego się w katalogu
/usr/local/openldap/etc/openldap/.
Najpierw umieszczamy schemat dla Samby w katalogu
/usr/local/openldap/etc/openldap/schema. Schemat ten dostarczony jest
także z pakietem Samby, wystarczy zatem skopiować plik samba.schema
z ./samba/examples/LDAP do /usr/local/openldap/etc/openldap/schema/.
Następnie należy zmodyfikować plik slapd.conf, uwzględniając w liście
schematów schemat dla Samby. Wymagane są również schematy nis.schema oraz
inetorgperson.schema.
Poniżej przedstawiona jest przykładowa konfiguracja pliku slapd.conf:
#########################################################
# global configuration directives
#########################################################
include /usr/local/openldap/etc/openldap/schema/core.schema
include /usr/local/openldap/etc/openldap/schema/cosine.schema
include /usr/local/openldap/etc/openldap/schema/nis.schema
include /usr/local/openldap/etc/openldap/schema/inetorgperson.schema
include /usr/local/openldap/etc/openldap/schema/samba.schema
pidfile /usr/local/openldap/var/slapd.pid
argsfile /usr/local/openldap/var/slapd.args
schemacheck on
loglevel 776
#########################################################
# ldbm database definitions
#########################################################
database ldbm
rootdn "cn=root,o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
rootpw secret
suffix "o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
directory /usr/local/openldap/var/openldap-samba
index objectcalass eq
index primaryGroupID,rid,uid,cn eq
index default sub
access to dn=".*,o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
by self write
by * search
Po konfiguracji możemy uruchomić serwer slapd. Wykonujemy
Szczegółowe informacje na temat uruchamiania serwera OpenLDAP można znaleźć w OpenLDAP 2.0 Administrator's Guide.
1.3 Wprowadzenie podstawowych danych do serwera LDAP
Wszystkie konta użytkowników lub stacji roboczych przechowywane są w bazie LDAP
jako obiekty klasy SambaAccount. Klasa ta składa się z następujących atrybutów:
Na początku wprowadzamy do serwera LDAP trzy podstawowe rekordy:
dn: o=samba,dc=uci,dc=uni,dc=torun,dc=pl
o: samba
objectClass: organization
# Administrator, samba, umk, pl
dn: uid=Administrator, o=samba,dc=uci,dc=uni,dc=torun,dc=pl
objectClass: sambaAccount
uid: Administrator
primaryGroupID: 508
rid: 508
lmPassword: F0D412BD764FFE81AAD3B435B51404EE
ntPassword: 209C6174DA490CAEB422F3FA5A7AE634
pwdLastSet: 0
pwdMustChange: 0
pwdCanChange: 0
logonTime: 0
logoffTime: 0
kickoffTime: 0
acctFlags: [U ]
# nobody, samba, umk, pl
dn: uid=nobody, o=samba,dc=uci,dc=uni,dc=torun,dc=pl
objectClass: sambaAccount
uid: nobody
primaryGroupID: 99
rid: 99
lmPassword: NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
ntPassword: NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
pwdLastSet: 0
pwdMustChange: 0
pwdCanChange: 0
logonTime: 0
logoffTime: 0
kickoffTime: 0
acctFlags: [NU ]
Powyższe dane umieszczamy w pliku dane.ldif i wprowadzamy do serwera LDAP za pomocą komendy
Wszystkie dodawane konta muszą mieć swoje wpisy w /etc/passwd i /etc/group. Jeżeli nie istnieje w systemie konto Administratora, należy je najpierw utworzyć.
LmPassword i ntPassword są zakodowanymi hasłami reprezentowanymi w postaci hexadecymalnej. Muszą zgadzać się z hasłem użytkownika w systemie. Do tworzenia haseł lmPassword i ntPassword można użyć narzędzia mkntpwd oraz poniższego skryptu:
#!/usr/bin/perl
system "stty -echo";
print "Podaj haslo:";
chomp($haslo=<STDIN>);
print "\n";
system "stty echo";
$ntpwd = `/usr/local/sbin/mkntpwd '$haslo'`;
$lmpassword = substr($ntpwd, 0, index($ntpwd, ':'));
chomp $lmpassword;
$ntpassword = substr($ntpwd, index($ntpwd, ':')+1);
chomp $ntpassword;
print "LmPassword: " ,$lmpassword , "\nNtPassword: ", $ntpassword, "\n";
1.4 Konfiguracja i uruchomienie serwera SMB
W katalogu /usr/local/samba/lib/ tworzymy plik smb.conf i definiujemy w nim parametry konfiguracyjne Samby. Po dodaniu przy kompilacji opcji --with-ldapsam, dostępne są dodatkowe parametry dotyczące współpracy z serwerem LDAP:
ldap server | - określa nazwę hosta, na którym jest uruchomiony serwer LDAP |
ldap admin dn | - określa DN, za pomocą którego serwer Samby będzie łączył się z serwerem LDAP |
ldap suffix | - określa bazowy DN, jaki będzie przeszukiwany |
ldap port | - definiuje port, na którym odbywać się będzie komunikacja z serwerem LDAP |
ldap filter | - określa filtr używany przy przeszukiwaniu bazy LDAP |
ldap ssl | - określa, czy komunikacja z serwerem LDAP ma się odbywać za pomocą protokołu SSL |
Najczęściej wystarczy zdefiniować pierwsze cztery paramerty. Parametr ldap filter można pozostawić przy domyślnej wartości. Przeszukiwane są wówczas obiekty klasy sambaAccount według atrybutu uid. W przypadku, gdy komunikacja z serwerem LDAP ma odbywać się bez pośrednictwa protokołu SSL, ustawić trzeba parametr ldap ssl = off (domyślnie obsługa SSL jest włączona).
Oto przykładowa konfiguracja pliku smb.conf:
[global]
ldap suffix = "o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
ldap admin dn = "cn=root,dc=uci,dc=uni,dc=torun,dc=pl"
ldap server = efa.uci.uni.torun.pl
ldap port = 389
ldap ssl = off
workgroup = UCI
netbios name = efa
comment = Linux RedHat Samba Server
security = user
null passwords = Yes
encrypt passwords = yes
logon drive = U:
domain master = yes
domain logons = yes
preferred master = yes
os level = 255
wins support = yes
wins proxy = yes
time offset = 60
time server = True
log file = /usr/local/samba/logs
public = No
browseable = No
writable = No
[homes]
comment = Katalogi domowe
path = /home/%u
read only = no
create mode = 0700
browseable = yes
[netlogon]
path = /usr/local/samba/netlogon
locking = no
writeable = no
guest ok = no
browseable = yes
[profiles]
path = /usr/local/samba/profiles
writeable = no
guest ok = yes
browseable = yes
create mode 0777
Przed uruchomieniem serwera należy ustawić w Sambie hasło administratora (admin dn), za pomocą którego będzie możliwa komunikacja serwerem slapd. Musi to być to samo hasło jakie ustawione jest w parametrze rootpw w pliku slapd.conf. Hasło administratora w Sambie przechowywane jest w pliku secrets.tdb w katalogu /usr/local/samba/private. Ustawiamy je uruchamiając program smbpasswd z opcją -w:
$ /usr/local/samba/bin/smbpasswd -w <haslo>
Tworzymy jeszcze brakujące katalogi:
$ cd /usr/local/samba/
$ mkdir var/locks
$ mkdir profiles
$ mkdir netlogon
$ chmod 755 var/locks
$ chmod 755 profiles
$ chmod 755 netlogon
i startujemy demony serwera SMB:
$ ./sbin/smbd -D
$ ./sbin/nmbd -D
gdzie opcja -D 256 oznacza poziom debugowania.
Dla przykładu utworzymy w Sambie konto użytkownika efa:
$ /usr/local/samba/bin/smbpasswd -a efa -D 256
Wykonując komendę:
$ /usr/local/openldap/bin/ldapsearch -b "o=samba,dc=uni,dc=torun,dc=pl" -D
"cn=root,o=samba,dc=uni,dc=torun,dc=pl" -W "uid=efa"
możemy zobaczyć, jakie dane nowego konta zostały umieszczone w bazie LDAP:
#
# efa, samba, umk, pl
# search result
# numResponses: 2
Należy pamiętać, że przy tworzeniu konta stacji roboczej nazwa komputera musi być zakończona
znakiem "$", zarówno przy tworzeniu konta w Sambie jaki i w systemie.
Może się okazać, że wartości domyślne niektórych atrybutów nie są zgodne z naszymi oczekiwaniami, bądź chcelibyśmy ustawić dla poszczególnych kont nowe atrybuty. Należy wówczas utworzyć plik
ldif zawierający potrzebne dane i wykonać komendę ldapmodify.
Dla przykładu zmodyfikujemy konto użytkownika efa dodając atrybut
scriptPath,
profilePath, oraz wyłączymy konieczność zmiany hasła przy pierwszym logowaniu.
Warto zwrócić uwage na fakt, iż wartości parametrów zdefiniowanych w pliku smb.conf są przysłaniane wartościami
przechowywanymi w bazie LDAP.
Tworzymy plik modyf.ldif zawierający dane:
dn: uid=efa,o=samba,dc=uci,dc=uni,dc=torun,dc=pl
i wykonujemy
$ /usr/local/openldap/bin/ldapmodify -D "cn=root,o=samba,dc=uci,dc=uni,dc=torun,dc=pl" -W -f modyf.ldif
$ cvs -d :pserver:anoncvs@anoncvs.dcerpc.org:/home/cvsroot login
$ cp -p /usr/local/openldap/include/* /usr/include
Instalacja Samby wymaga wykonania kilku komend. Najpierw należy wygenerować
brakujące pliki:
$ cd ./tng/source
a następnie wykonać standardowe kroki instalacyjne.
Konieczne jest ustawienie opcji with-ldap, co umożliwi współpracę Samby z LDAP-em.
Katalog, w którym pakiet zostanie zainstalowany oczywiście mozna wybrać dowolny.
W naszym przykładzie będzie to
/usr/local/samba-tng. Wykonujemy:
$ ./configure --prefix=/usr/local/samba-tng --with-ldap
$ cp ./tng/sources/ldap/sambatng.schema-v3 /usr/local/openldap/etc/openldap/schema/samba-tng.schema
a następnie zmodyfikować plik slapd.conf. Klasy obiektów definiowane w
samba.schema korzystają z atrybutów definiowanych w schemacie
nis.schema, dlatego również i ten schemat należy dołączyć. Poniżej przedstawiona jest
przykładowa konfiguracja:
#########################################################
pidfile /usr/local/openldap/var/slapd.pid
schemacheck on
loglevel 776
#########################################################
index objectcalass eq
access to dn=".*,o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
Po konfiguracji możemy uruchomić serwer slapd:
dn: o=samba,dc=uci,dc=uni,dc=torun,dc=pl
dn: id=root, o=samba, dc=uci,dc=uni,dc=torun, dc=pl
dn: uid=Administrator, o=samba,dc=uci,dc=uni,dc=torun,dc=pl
acctFlags: [U  ]
dn: uid=nobody, o=samba,dc=uci,dc=uni,dc=torun,dc=pl
Powyższe dane umieszczamy w pliku dane.ldif i wykonujemy
Podstawowym obiektem utrzymywanym w bazie LDAP jest obiekt klasy
SambaAccount. Część atrybutów tej klasy została opisana w punkcie 1.3. Dodatkowo w Sambie TNG obiekt tej klasy może zawierać
atrybut gidNumber umożliwiający przypisanie użytkownika do określonej grupy użytkowników.
Umieszczanie w bazie rekordu uid=root nie jest zazwyczaj konieczne, w przypadku Samby
TNG jest niezbędne do utrzymywania wartości nextrid.
Wartości takie jak uidNumber, gidNumber pochodzą
bezpośrednio z pliku /etc/passwd. Należy wcześniej upewnić się, że w systemie istnieje konto
Administratora, jak i innych dodawanych użytkowników. Hasła lmPassword i ntPassword są
16-bajtowymi ciągami znaków reprezentowanymi w postaci hexadecymalnej. Sposób ich generowania jest opisany w
punkcie 1.3.
$ cd /usr/local/samba-tng/
W katalogu /usr/local/samba-tng/private należy utworzyć plik ldappasswd i umieścić w nim hasło,
które będzie uzywane do łączenia się z serwerem LDAP (rootpw z pliku konfiguracyjnego slapd.conf).
Oto przykładowa konfiguracja pliku smb.conf
[global]
workgroup = UCI
logon drive = U:
preferred master = yes
time offset = 60
log file = /usr/local/samba-tng/logs
[homes]
[netlogon]
[profiles]
Do uruchomienia serwera potrzebne jest wystartowanie demonów, znajdujących się w /usr/local/samba-tng/sbin.
Warto wcześniej zapoznać się z działaniem każdego z demonów i uruchomić te, które są potrzebne. Ich opis znajduje się w manualu dostępnym w pakiecie.
W naszym przypadku uruchamiamy następujące demony:
$ /usr/local/etc/samba_tng/sbin/smbd -d 3
Możemy sprawdzić czy poprawnie skonfigurowaliśmy serwer Samby
$ /usr/local/samba-tng/bin/smbclient -L efa.uci.uni.torun.pl
Po uruchomieniu powyższej komendy powinniśmy otrzymać listę zasobów dostępnych na serwerze. Jeżeli pojawił się błąd to albo niepoprawnie skonfigurowaliśmy serwer lub jeden z potrzebnych
demonów nie został wystartowany. Warto prześledzić plik /usr/local/samba-tng/logs zawierający
komunikaty wysyłane przez serwer Samby.
Narzędzia samedit można użyć również w sposób interaktywny. Najpierw logujemy się jako root:
$ /usr/local/samba-tng/bin/samedit -S . -U root następnie możemy załoyć konto użytkownikowi efa:
[root@.]$ createuser efa -p
Po uruchomieniu komendy:
[root@.]$ enumusers
otrzymamy listę utworzonych użytkowników i stacji.
Atrybuty poszczególnych kont możemy dostosować do własnych potrzeb modyfikując je lub dodawać
nowe. Tworzymy wówczas plik ldif zawierający nowe dane i dodajemy je do serwera za
pomocą ldapmodify. Atrybuty przechowywane w bazie LDAP przysłonią wówczas
parametry definiowane w pliku konfiguracyjnym Samby dla danego konta.
W obrębie domeny użytkowników lub stacje robocze możemy przypisywać do określonych grup, co
pozwala na manipulowanie uprawnieniami kont. Grupy mogą być przechowywane w bazie LDAP jako
obiekty klasy sambaGroup, sambaBuiltin oraz sambaAlias. Za
pomocą tych obiektów możemy zaimplementować w bazie LDAP konfigurację takich parametrów
jak local group map, domain user map oraz domain group map.
Grupy możemy tworzyć ręcznie umieszczając dane w pliku ldif i dodając do bazy
komendą
ldapmodify.
Przykładowy plik
grupa.ldif może mieć postać:
dn: dn=Administratorzy Domeny,o=samba,dc=uci,dc=uni,dc=torun,dc=pl
Po dodaniu pliku do bazy LDAP zostanie utworzona grupa "Administratorzy Domeny" do której
należą
użytkownicy Administrator i efa. Należy jeszcze zmodyfikować konto użytkownika
efa zastępując wartość atrybutu grouprid wartością rid grupy oraz
gidNumber wartością gid konta Administratora w systemie.
Powyższe operacje można wykonywać również za pomocą narzędzia samedit. Służą do tego
funkcje addgroupmem, creategroup, addaliasmem, createalias.
Niestety nie wszystkie funkcje programu samedit są jeszcze w pełni funkcjonalne, dlatego
większość operacji należy wykonywać ręcznie.
Źródła1.5 Tworzenie nowych kont
W Sambie 2.2.x nowe konta można zakładać za pomocą programu
smbpasswd, który wprowadza wszystkie potrzebne rekordy do serwera LDAP.
Tworzone konta muszą mieć odpowiednie wpisy w plikach
/etc/passwd i /etc/group. Zatem przed utworzeniem konta w
Sambie należy się upewnić, że istnieje takie konto w systemie, ewentualnie je
wcześniej założyć.
$ /usr/local/samba/bin/smbpasswd -a <uzytkownik> -D 256
$ /usr/local/samba/bin/smbpasswd -m -a <nazwa_stacji>$ -D 256
$ /usr/local/samba/bin/smbpasswd -x <nazwa_konta>
New SMB password: <haslo>
Retype new SMB password: <haslo>
LDAP search "(&(uid=efa)(objectclass=sambaAccount))" returned 0 entries.
Added user efa.
# filter: uid=efa
# requesting: ALL
#
dn: uid=efa,o=samba,dc=uci,dc=uni,dc=torun, dc=pl
uid: efa
pwdLastSet: 1015313324
logonTime: 0
logoffTime: 2147483647
kickoffTime: 2147483647
pwdCanChange: 0
pwdMustChange: 2147483647
displayName: Ewa Skrenty
cn: Ewa Skrenty
rid: 2000
primaryGroupID: 2001
lmPassword: 56ADA603D6D3F48EAAD3B435B51404EE
ntPassword: E61A5D8E9B8D5DAAA21F74A97D82FEB6
acctFlags: [UX ]
objectClass: sambaAccount
search: 2
result: 0 Success
# numEntries: 1
changetype: modify
replace: profilePath
profilePath: \\%N\profiles\%u
-
replace: scriptPath
scriptPath: script.bat
-
replace: pwdMustChange
pwdMustChange: 0
2. Konfiguracja Samby TNG i serwera OpenLDAP
2.1 Instalacja Samby
Należy pobrać pakiet Samba-TNG ze strony http://www.samba-tng.org lub za pomocą
CVS. Ponieważ pakiet ten jest stale rozwijany zaleca się pobranie najnowszej wersji via CVS:
$ CVS password: <anoncvs>
$ cvs -z3 -d :pserver:anoncvs@anoncvs.dcerpc.org:/home/cvsroot co tng
Źródła pakietu zostaną umieszczone w katalogu tng.
Przed konfiguracją i instalacją należy skopiować biblioteki i nagłówki
ldap-a w domyślne miejsce np. /usr/lib i /usr/include:
$ cp -p /usr/local/openldap/lib/* /usr/lib
$ ./autogen.sh
$ make
$ make install
2.2 Konfiguracja serwera LDAP
Do współpracy serwera LDAP z Sambą niezbędna jest odpowiednia konfiguracja pliku
slapd.conf. Ważne jest
włączenie w listę schematów schematu dla
Samby TNG. Z pakietem Samby TNG są dostarczane gotowe schematy dla różnych wersji LDAP-a.
Wystarczy skopiować odpowiedni plik do katalogu LDAP-a:
# global configuration directives
#########################################################
include /usr/local/openldap/etc/openldap/schema/core.schema
include /usr/local/openldap/etc/openldap/schema/cosine.schema
include /usr/local/openldap/etc/openldap/schema/nis.schema
include /usr/local/openldap/etc/openldap/schema/samba-tng.schema
argsfile /usr/local/openldap/var/slapd.args
# ldbm database definitions
#########################################################
database ldbm
rootdn "id=root,o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
rootpw secret
suffix "o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
directory /usr/local/openldap/var/openldap-tng
index sn,cn,uid pres,sub,eq
index default sub
by self write
by * search
2.3 Wprowadzenie podstawowych danych do serwera LDAP
Na początku konieczne jest dodanie do bazy LDAP kilku podstawowych rekordów:
o: samba
objectClass: organization
id: root
objectClass: sambaConfig
nextrid: 3ed
objectClass: sambaAccount
uid: Administrator
lmPassword: F0D412BD764FFE81AAD3B435B51404EE
ntPassword: 209C6174DA490CAEB422F3FA5A7AE634
pwdLastSet: 3982F885
grouprid: 508
pwdMustChange: ffffffff
ntuid: Administrator
uidNumber: 508
rid: 1f4
objectClass: sambaAccount
uid: nobody
uidNumber: 99
ntuid: nobody
rid: 1f5
pwdLastSet: 39856D06
acctFlags: [NU ]
lmPassword: NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
ntPassword: NO PASSWORDXXXXXXXXXXXXXXXXXXXXX
2.4 Konfiguracja i uruchomienie serwera SMB
Najpierw trzeba utworzyć kilka dodatkowych katalogów, które nie są zakładane podczas instalacji:
$ mkdir private
$ chmod 700 private
$ mkdir -p profiles
$ mkdir -p netlogon
Następnie tworzymy plik smb.conf w katalogu /usr/local/samba-tng/lib/,
który należy odpowiednio skonfigurować. Z dystrybucją Samby w katalogu examples
jest dostarczony przykładowy plik konfiguracyjny. Wystarczy go skopiować do
/usr/local/samba-tng/lib/smb.conf i zmodyfikować, bądź utworzyć własnoręcznie.
Część dotycząca serwera LDAP umieszczamy w sekcji [global]. Potrzebne będzie określenie następujących parametrów:
ldap server określa nazwę hosta, na którym jest uruchomiony serwer LDAP
ldap bind as określa DN za pomocą którego serwer
Samby będzie łączył się z serwerem LDAP
ldap suffix określa bazowy DN używany do przeszukiwania bazy LDAP
ldap scope określa zakres przeszukiwania bazy
LDAP (możliwe wartości:
base, one, sub)
możemy pozostawić przy domyślnej wartości one.
ldap suffix = "o=samba,dc=uci,dc=uni,dc=torun,dc=pl"
ldap bind as = "id=root,dc=uci,dc=uni,dc=torun,dc=pl"
ldap passwd file = /usr/local/samba-tng/private/ldappasswd
ldap server = efa.uci.uni.torun.pl
ldap port = 389
netbios name = efa
comment = Linux RedHat Samba Server
security = user
null passwords = Yes
encrypt passwords = yes
domain master = yes
domain logons = yes
os level = 255
wins support = yes
wins proxy = yes
time server = True
public = No
browseable = No
writeable = No
comment = Katalogi domowe
path = /home/%u
read only = no
create mode = 0700
browseable = yes
path = /usr/local/samba-tng/netlogon
locking = no
writeable = no
guest ok = no
browseable = yes
path = /usr/local/samba-tng/profiles
writeable = no
guest ok = yes
browseable = yes
create mode = 0777
$ /usr/local/etc/samba_tng/sbin/nmbd -d 3
$ /usr/local/etc/samba_tng/sbin/srvsvcd
$ /usr/local/etc/samba_tng/sbin/wkssvcd
$ /usr/local/etc/samba_tng/sbin/lsarpcd
$ /usr/local/etc/samba_tng/sbin/samrd
$ /usr/local/etc/samba_tng/sbin/netlogond
$ /usr/local/etc/samba_tng/sbin/browserd
2.5 Tworzenie nowych kont
Aby użytkownik mógł korzystać z udostępnianych zasobów należy utworyć mu konto w serwerze LDAP. Można to
zrobić ręcznie tworząc plik ldif zawierający dane i dodać za pomocą komendy ldapmodify
(podobnie jak konto Administratora i Nobody). W Sambie TNG można zakładać konta również za pomocą narzędzia
samedit. Wszystkie zakładane konta, zarówno użytkowników jaki i maszyn czy grup muszą mieć swoje wpisy w plikach /etc/passwd i /etc/group.
$ /usr/local/samba-tng/bin/samedit -S . -U root -c 'createuser <uzytkownik> -p <hasło_uzytkownika>'
$ /usr/local/samba-tng/bin/samedit -S . -U root -c 'samuserset <użytkownik> -p <nowe-hasło>'
$ /usr/local/samba-tng/bin/samedit -S . -U root -c 'createuser <nazwa_stacji>$'
added interface ip=158.75.1.50 bcast=158.75.1.127 nmask=255.255.255.128
SAM Create Domain User
Domain: UCI Name: efa ACB: [U ]
Create Domain User: OK
cn: Administratorzy Domeny
objectClass: sambaGroup
sambaMember: Administrator,1f4,1
sambaMember: efa,3ed,1
ntuid: Administratorzy Domeny
rid: 200
Ignacio Coupeau, SambaTNG-PDC
LDAP
Ignacio Coupeau, Samba-PDC LDAP
v.3
Samba Project
Documentation