Crmgo Blog

ручна за самбу

ручна за самбу

Instalacija Sambe Samba 3.0, za razliku od ranijih verzija Sambe, ima mogućnost rada u mrežama Windowsa koje rade u režimu Active Directory (ili u native režimu Windows 2000). Ako je potrebna ova funkcionalnost, treba instalirati paket samba3-3.0 umesto samba-2.2. Active Directory…

ручна за самбу
Instalacija Samba

Samba 3.0, za razliku od ranijih verzija Samba, ima mogućnost rada u mrežama Windows koje rade u režimu Active Directory (ili native mode Windows 2000). Ako je potrebna ova funkcionalnost, treba instalirati paket samba3-3.0 umesto samba-2.2.

Active Directory ima drugačiju šemu imenovanja domena, računara i korisnika, zasnovanu na DNS-u. Pretpostavimo da postoji mreža sa imenom my.firm.com i računarima host1.my.firm.com, host2.my.firm.com, host3.my.firm.com; tada će domen Active Directory-a biti nazvan my.firm.com, a korisnici Active Directory-a će imati imena u formatu user@my.firm.com.

Konfiguracija

/etc/krb5.conf mora sadržati bar sledeće linije:

[realms]

MY.FIRM.COM = {
kdc = your.kerberos.server
}

gde je MY.FIRM.COM ime domena (ili „realm“, u terminologiji Kerberos-a; obavezno se navodi velikim slovima), a your.kerberos.server je ime ili IP adresa KDC (Kerberos Domain Controller), analog PDC (Primary Domain Controller) u Windows NT domenima — na primer, server.my.firm.com ili 192.168.117.11.

Ispravnost navedenih parametara možete proveriti izvršavanjem komande (zamenite ime korisnika aktuelnim — na primer, administrator@MY.FIRM.COM):

# kinit username@REALM

i uverite se da je lozinka prihvaćena od strane servera. REALM se uvek navodi velikim slovima.

Takođe morate biti sigurni da je moguće dobiti ime KDC iz njegove IP adrese (tzv. Reverse DNS lookup). Ime KDC mora ili da se poklapa sa NetBIOS-imenom računara (ime mašine u Windows mreži bez navođenja domena) ili da se sastoji od NetBIOS-imena i imena domena. Ako nije moguće dobiti ime KDC iz adrese, dobićete grešku „local error“ pri pokušaju ulaska u domen.

Ako vaš DNS ne podržava Reverse lookup ili KDC nije registrovan u DNS-u, možete navesti odgovarajuće preslikavanje IP adrese i imena u /etc/hosts.

Uređivanje /etc/samba/smb.conf

Za rad u Active Directory-u, smb.conf mora sadržati sledeće parametre:

[global]

# Задает Kerberos realm, обычно совпадает с именем домена в
# верхнем регистре, например realm = MY.FIRM.COM
realm = <REALM>

# Это обычно часть реалма до первой точки, например
# workgroup = MY
workgroup = <WORKGROUP>

# Тип домена - Active Directory.
security = ADS

# В случае Active Directory пароли всегда шифруются.
encrypt passwords = true

# Обычно этот параметр указывать не обязательно, т.к. Samba сама
# определяет адрес KDC, если в сети есть WINS-сервер и он указан
# в smb.conf
ads server = <your.kerberos.server>

 

Registracija računara u Active Directory domenu

Uverite se da Samba nije pokrenuta. Ako jeste, potrebno je zaustaviti je:

# service smb stop; service winbind stop

 

Da biste uključili računar u domen, izvršite komandu:

# net ads join -U administrator

gde je administrator ime korisnika domena koji ima pravo da kreira nove naloge.

Ako nije došlo do poruke o grešci, računar je uspešno registrovan u domenu — u suprotnom, proverite ispravnost zadatih parametara u /etc/samba/smb.conf i /etc/krb5.conf. Uverite se da korisnik naveden nakon -U u net ads join ima potrebna prava za kreiranje novih naloga.

Sada možete pokrenuti potrebne servise:

# service smb start; service winbind start

 

Provera ispravnog rada u Active Directory-u

Za rad sa računarima registrovanim u Active Directory-u, nije potrebno navoditi ime korisnika i lozinku. Pokušajte da izvršite komandu:

$ smbclient -k -L <имя компьютера в домене>

 

Morate dobiti spisak dostupnih resursa, pri čemu smbclient ne treba da traži korisničko ime i lozinku.

Da biste proverili da li je pristup resursima vaše mašine moguć sa drugih mašina u domenu, možete pokušati da izvršite istu komandu:

$ smbclient -k -L <имя вашего компьютера в домене>

i dobijete spisak dostupnih resursa. Takođe možete pokušati da otvorite neki resurs sa vaše mašine koristeći Windows mašinu koja je član domena. U svakom slučaju, korisničko ime i lozinka ne treba da budu traženi.

Neki specifičnosti rada u Active Directory-u

Za razliku od Windows NT domena, autorizacija u Active Directory-u se ne vrši po korisničkom imenu i lozinki, već putem Kerberos karata. Zbog toga rad sa smbclient može na početku delovati neuobičajeno.

Prvo, prilikom poziva smbclient potrebno je navesti opciju -k. Drugo, Kerberos karte se izdaju na određeno vreme (obično na 24 sata, ali to zavisi od podešavanja servera). Zbog toga ih je potrebno periodično osvežavati pomoću komande kinit:

# kinit username@REALM

gde je username vaše korisničko ime u Active Directory domenu REALM.

Dakle, ako smbclient iznenada prestane da se povezuje na resurse domena, pokušajte da osvežite kartu – verovatno je problem u tome.

članak preuzet ovde
Nešto dublje u ovoj strukturi postoji direktorijum share kome treba omogućiti pristup različitim korisnicima (na primer user) preko Sambe. Pritom se grupa ne sme menjati, a user ne pripada toj grupi.

Kreirajući direktorijume u folderu share, oni moraju imati prava 770, fajlovi u njima 660 i moraju biti dostupni i za usera.

Koristimo ACL.

Izvršite chmod g+s share ... kako bi kreirani fajlovi i folderi imali grupu project
Izvršite setfacl -m u:user:rx za sve direktorijume do share ... kako bi user mogao da dođe do tog direktorijuma
Izvršite setfacl -m u:user:rwx za direktorijum share i sve njegove poddirektorijume ... kako bi korisnik mogao nešto da kreira u tom direktorijumu
Izvršite setfacl -m u:user:rw za sve fajlove u direktorijumu share

U sambi napišite

directory mask = 770
create mask = 660
inherit acls = yes
inherit permissions = yes # bez ovoga prethodna linija ne radi!!!
map acl inherit = yes
map archive = no
map system = no
map hidden = no

Nakon toga pokušajte da kreirate folder i fajl u direktorijumu share preko Sambe kao user.

Dobijate
Folder sa pravima 770 i vlasnikom user:project (sve kako treba)
i Fajl sa pravima 670 i vlasnikom user:project

Napomena: tekst može biti uz pomoć AI uz ljudsku proveru. Odgovoran: Dmytro Lomaka, Kaltenkirchen.