Glavna konfiguracijska datoteka Sambe je /etc/samba/smb.conf. Početna konfiguracijska datoteka ima značajan broj komentara za dokumentiranje raznih konfiguracijskih direktiva.
Nisu sve moguće opcije uključene u datoteku zadanih postavki. Pogledajte priručnik čovjek smb.konf ili Samba FAQ za više detalja.
1. Prvo promijenite sljedeće parove ključ/vrijednost u odjeljku datoteka /etc/samba/smb.conf:
Radna grupa = PRIMJER ... sigurnost = korisnik
Parametar sigurnosti nalazi se znatno niže u dijelu i zadano je komentiran. Također zamijeniti PRIMJER na nešto prikladnije vašoj okolini.
2. Napravite novi odjeljak na kraju datoteke ili skinite komentar s jednog od primjera za direktorij koji želite dijeliti:
Komentar = Ubuntu File Server Share path = /srv/samba/share browsable = yes guest ok = yes only read = no create mask = 0755
komentar: Kratak opis dijeljenog izvora. Koristi se za vašu udobnost.
staza: put do dijeljenog imenika.
Ovaj primjer koristi /srv/samba/sharename jer, prema Standardu hijerarhije datotečnog sustava (FHS), /srv direktorij je mjesto gdje bi se trebali nalaziti svi podaci koji se odnose na danu stranicu. Tehnički gledano, dijeljenje Sambe može se postaviti bilo gdje u datotečnom sustavu gdje to dopuštaju ograničenja pristupa datoteci, ali preporučuje se pridržavanje standarda.
pregledavanje: Omogućuje Windows klijentima pregled sadržaja dijeljenog direktorija pomoću Windows Explorera.
gost ok: Omogućuje klijentima da se povežu na dijeljeni resurs bez davanja lozinke.
samo za čitanje: Određuje je li resurs dostupan s privilegijama samo za čitanje ili pisanje. Privilegije pisanja dostupne su samo kada to odredite Ne, kao što je prikazano u ovom primjeru. Ako vrijednost Da, tada će pristup resursu biti samo za čitanje.
stvoriti masku: određuje koji prava pristupa bit će postavljeno za nove stvorene datoteke.
3. Sada kada je Samba konfigurirana, morate stvoriti direktorij i postaviti dopuštenja za njega. Unesite u terminal:
Sudo mkdir -p /srv/samba/share sudo chown nobody.nogroup /srv/samba/share/
parametar -str govori mkdir-u da stvori potpuno stablo imenika ako ono ne postoji.
4. Na kraju ponovno pokrenite samba servise kako biste primijenili nove postavke:
Sudo restart smbd sudo restart nmbd
Sada možete pretraživati Ubuntu datotečni poslužitelj pomoću Windows klijenta i pregledavati njegove dijeljene direktorije. Ako vaš klijent ne prikazuje vaše dionice automatski, pokušajte pristupiti svom poslužitelju pomoću njegove IP adrese, na primjer, \\192.168.1.1, iz prozora Windows Explorera. Kako biste provjerili radi li sve, pokušajte stvoriti direktorij unutar svojeg dijeljenja iz sustava Windows.
Za stvaranje dodatnih dijeljenja, stvorite novi odjeljak u /etc/samba/smb.conf i ponovno pokrenite Sambu. Samo provjerite je li zajednički imenik stvoren i ima li ispravna dopuštenja.
Zajednički resurs "" i način /srv/samba/dijeli- ovo su samo primjeri. Postavite naziv resursa i naziv direktorija prema vašem okruženju. Dobro je koristiti naziv direktorija resursa u datotečnom sustavu kao naziv resursa. Drugim riječima, resurs se može navesti za /srv/samba/qa direktorij.
Ovaj će se članak usredotočiti na stvaranje bežične mreže lokalna mreža za uređaje s različitim operativnim sustavima Windows sustavi, Linux, Android koristeći Sambu.
U današnje vrijeme gotovo svaki stan ima Wi-Fi mreža, a tu je i veliki broj različitih uređaja (laptopi, pametni telefoni, tableti, Android TV Box). U tom smislu, prije ili kasnije pojavit će se potreba za spajanjem svih uređaja dostupnih za korištenje u jednu kućnu mrežu kako bi se lako pristupilo svim vrstama datoteka s bilo kojeg gadgeta.
O tome će zapravo biti riječi u ovom opusu. Pa krenimo.
Za izgradnju mreže koristit ćemo već gotovo rješenje Samba. Ovo je paket besplatni programi s otvorenim izvorni kod omogućujući vam povezivanje s mrežni pogoni, pisači i druga oprema na različitim operativnim sustavima koristeći vlastiti SMB/CIFS protokol.
Softver se sastoji od dva dijela - poslužitelja i klijenta. Na jedan od uređaja, koji će po definiciji biti glavni, instalirat ćemo Samba server, a na sve ostale Samba klijent.
Instalacija Samba poslužitelja
U mom slučaju za poslužiteljski uređaj odabrao sam prijenosno računalo na kojem su paralelno instalirani Windows 7 i Ubuntu Mate 16.04. U nastavku ćemo detaljno razmotriti postupak instaliranja i konfiguriranja Sambe za oba operativna sustava.
Postavljanje samba poslužitelja pod Linuxom
Prema zadanim postavkama, Samba nije instalirana u Ubuntu, pa to morate učiniti prije nego što nastavite dalje. Kao opciju, kako ne bismo naknadno uređivali Samba konfiguracijsku datoteku preko terminala, instalirat ćemo program Gadmin-Samba koji uz Samba poslužiteljske pakete i GUI.
Za instalaciju upišite u terminal:
Sudo apt instalirajte gadmin-sambu
Nakon dovršetka instalacije pokrenite Gadmin Sambu. Sučelje aplikacije nije rusificirano, ali razumijevanje postavki prilično je jednostavno.
U programu postoji mnogo postavki, ali općenito, u našem slučaju zanima nas kartica "korisnici". Idite na njega i dodajte novog korisnika.
Kliknite gumb "Novi korisnik", unesite korisničko ime u ažurirani prozor, smislite lozinku, dodajte je u grupu (kako ne biste "izmislili kotač", navedite postojećeg, naime "sambausers") i postavite početni direktorij za datoteke. Nakon toga kliknite "Primijeni".
HD Videobox - Novi korisnik
Da biste primijenili promjene, ponovno pokrenite poslužitelj pomoću gumba "deaktiviraj", odnosno "aktiviraj", koji se nalaze u gornjem lijevom kutu prozora aplikacije.
Ne zaboravite, također, postaviti prava pristupa "dijeljenim" mapama za zajednički pristup. To se može učiniti ili putem terminala ili putem grafičkog sučelja Nautilus file explorera.
Nautilus - mijenjanje dopuštenja
Nautilus - Dopuštenje za pisanje datoteke
Postavljanje samba poslužitelja pod Windowsima
U slučaju Windowsa, sve je mnogo prozaičnije, jer se Samba koristi prema zadanim postavkama u ovom operativnom sustavu.
U principu, možete koristiti postojeći račun ili omogućiti pristup gostu. Alternativno, možete stvoriti drugi račun, čiji će se podaci koristiti za pristup mreži
Za kreiranje novog računa potrebno je otići na "kontrolnu ploču", odabrati "upravljanje korisničkim računima" i kreirati novi profil s lozinkom.
Dodavanje novog računa
Kada kreirate novog korisnika, morat ćete odabrati vrstu računa, stvoriti ime i lozinku.
U posljednjoj fazi morat ćete postaviti prava za pregled promjena u "dijeljenim" mapama. To se može učiniti u standardnom Windows Exploreru kroz stavku kontekstni izbornik"properties", u odnosu na mapu koja vam je potrebna.
"Dijeljenje" mape
Dodavanje korisnika i promjena dopuštenja mape
Nakon stvaranja novog korisnika, svakako se ponovno prijavite na trenutnu sesiju kako bi promjene stupile na snagu.
Instalacija Samba klijenta na Android
Za pristup Samba poslužitelju i, sukladno tome, mrežnim pogonima na pokrenutim uređajima Android kontrola Preporučam korištenje aplikacije Root Explorer (link za preuzimanje Puna verzija bez oglašavanja na kraju članka).
Samba je program koji vam omogućuje pristup mrežnim pogonima na raznim operativni sustavi preko SMB/CIFS protokola. Ima klijentske i poslužiteljske dijelove. je besplatno softver, objavljen pod GPL licencom.
Samba radi na većini sustava sličnih Unixu, kao što su GNU/Linux, Solaris kompatibilan s POSIX-om i Mac OS X Server, razne BSD varijante, OS/2, Windows. Samba je uključena u gotovo sve GNU/Linux distribucije, uključujući, naravno, Ubuntu.
Montaža
Napraviti dijeljena mapa U Ubuntu radnoj površini samo kliknite desnom tipkom miša na mapu i odaberite stavku izbornika "Objavi mapu". Nema potrebe za uređivanjem konfiguracijskih datoteka. Sve dolje opisano odnosi se samo na ručno podešavanje, na primjer, u slučaju stvaranja poslužitelja datoteka.
Za instalaciju samo otvorite terminal i unesite:
sudo apt-get instalirajte sambu
Aplikacija će se automatski preuzeti i instalirati.
postavke
Pomoću terminala napravit ćemo sigurnosnu kopiju početne konfiguracijske datoteke:
Sudo cp /etc/samba/smb.conf(,.bak)
Sada možete urediti datoteku postavki /etc/samba/smb.conf; da biste to učinili, otvorite je u bilo kojem uređivaču teksta s pravima superkorisnika. Na primjer, ovako:
Sudo nano /etc/samba/smb.conf Primjer konfiguriranja Sambe kao samostalnog poslužitelja datoteka s autorizacijom: ; Globalne postavke poslužitelji; Opće postavke poslužitelja; Naziv računala koji će biti prikazan u mrežnom okruženju netbios name = main-server server string = ; Radna skupina klijenti radna grupa = RADNA GRUPA objavljuje verziju = 5.0 opcije utičnice = TCP_NODELAY IPTOS_LOWDELAY SO_KEEPALIVE SO_RCVBUF=8192 SO_SNDBUF=8192 passdb backend = tdbsam sigurnost = korisnik null passwords = true ; Datoteka za pseudonime korisničkih imena mapa korisničkih imena = /etc/samba/smbusers name resolve order = hosts wins bcast ; wins podrška postavljena je na yes ako je vaš nmbd(8) u Sambi WINS poslužitelj. Nemojte postavljati ovaj parametar na yes osim ako imate više podmreža i ne želite da vaš nmbd djeluje kao WINS poslužitelj. Nikada ne postavljajte ovaj parametar na yes na više od jednog stroja unutar iste podmreže. dobiva podršku = ne; Printer support printing = CUPS printcap name = CUPS ; Dnevnici zapisnika = /var/log/samba/log.%m syslog = 0 samo syslog = ne ; Konfiguriranje vezanja na koja sučelja slušati, ako slušanja na svim sučeljima nisu navedena; sučelja = lo, eth0 ; vezati samo sučelja = istina; ; ; put = /var/lib/samba/printers ; pregledavanje = da; gost ok = da ; samo za čitanje = da ; napiši popis = korijen; kreiraj masku = 0664; maska imenika = 0775 ; ; ; put = /tmp; ispis = da ; gost ok = da ; pregledavanje = ne; ; ;path = /media/cdrom ;browseable = yes ;read only = yes ;guest ok = yes ; Lopta tvrdog diska; Naziv lopti je vidljiv od klijenata; Put do zajedničkog diska path = /media/sda1 ; Je li moguće pregledavati browseable = da read only = no guest ok = no create mask = 0644 directory mask = 0755 ; Vezanje za određeno korisničko ime ili grupu, imena odvojena razmakom; forsirati korisnik = korisnik1 korisnik2; sila grupa = grupa1 grupa2 ; Još HDD, slično onome što je iznad path = /media/sde1 browseable = yes read only = no guest ok = no create mask = 0644 directory mask = 0755
Sada se moramo pozabaviti korisnicima.
Samba koristi korisnike koji su već u sustavu, uzmimo ime user kao primjer, recimo da je već u sustavu, moramo ga dodati u SMB bazu podataka i dodijeliti lozinku za pristup zajedničkim resursima, mi ćemo učinite to naredbom:
Smbpasswd -korisnik
Od vas će se tražiti da unesete lozinku, korisnik će biti dodan u bazu podataka, sada morate omogućiti ovog korisnika.
Smbpasswd -e korisnik
Zatim, stvorimo alias za korisničko ime korisnika kako bismo lakše mogli pristupiti sa Windows računala na kojem imamo, na primjer, korisnika pod imenom Admin. Da bismo to učinili, kreirat ćemo i urediti datoteku /etc/ samba/smbusers:
Sudo touch /etc/samba/smbusers sudo gedit /etc/samba/smbusers
Napišite nekoliko redaka u datoteku
# Unix_name = SMB_name1 SMB_name2 korisnik = Admin
Ovo dovršava postavljanje, ponovno pokrenite Sambu.
Samba datotečni poslužitelj za Windows mrežu
Samba se vrlo često koristi za stvaranje poslužitelja datoteka na Windows mreži.
Poslužitelj datoteka kao dio domene Active Directory
Kako biste stvorili datotečni poslužitelj integriran u domenu Active Directory, prvo ćete morati pridružiti svoj Ubuntu stroj domeni. O tome je posvećen poseban članak:
Da biste kreirali poslužitelj datoteka, ne morate konfigurirati PAM, samo dodajte korisnike domene i grupe preko Winbinda u sustav.
Nakon uspješne prijave u domenu, sve što trebate učiniti je konfigurirati zajedničke resurse na vašem računalu.
Ovdje odmah treba obratiti pozornost na jednu vrlo važnu stvar: Samba pokušava preslikati prava na Windows datoteke na Unix prava, međutim, zbog temeljnih razlika u mehanizmima dodjele prava, to nije uvijek moguće. Imajte na umu da prava na datoteke uvijek iu svakom slučaju kontrolira vaš datotečni sustav na računalu s Ubuntuom; Samba im se može samo prilagoditi, ali ne i promijeniti njihovo ponašanje.
Stoga će zajednički resursi prema zadanim postavkama imati vrlo ograničene mogućnosti kontrole pristupa - dodjeljivanje različitih prava korisniku, grupi i svima ostalima. Međutim, to se može lako popraviti dodavanjem POSIX ACL podrške vašem FS-u. U ovom slučaju bit će moguće dodijeliti različita prava različitim korisnicima i grupama, slično kao u Windowsima.
POSIX ACL podrška dostupna je u najmanje ext3/4; da biste je aktivirali, samo trebate dodati acl parametar opcijama montiranja željene particije.
Važno je da direktorij koji želite dijeliti putem Sambe bude na disku montiranom s opcijom acl. U protivnom nećete moći pravilno koristiti mehanizam za razgraničenje prava pristupa datotekama na dijeljenim datotekama.
Postoji još jedna vrlo važna točka: POSIX ACL-ovi ne podržavaju nasljeđivanje prava pristupa iz nadređenih direktorija, ali u Windowsima je ova značajka prisutna. Stoga Samba implementira dodatni mehanizam za pohranjivanje informacija o nasljeđivanju prava pristupa, koji koristi atribute proširenog datotečnog sustava. Stoga, kako bi Samba ispravno rukovala nasljeđivanjem prava koja nisu acl, potrebno je dodati parametar user_xattr opcijama montiranja datotečnog sustava, koji je odgovoran za omogućavanje podrške za proširene atribute.
Na primjer, uvijek koristim odvojene LVM diskove za organiziranje zajedničkih resursa, a moje fstab linije za njih izgledaju otprilike ovako:
/dev/mapper/data-profiles /var/data/profiles ext3 defaults,noexec,acl,user_xattr 0 2
Opcija noexec je potrebna jer na Windowsima ne bi trebalo biti 100% izvršne datoteke Linux, i neće škoditi ako budete na sigurnoj strani.
Za rad s acl-om na Ubuntuu morate instalirati paket odgovarajućih uslužnih programa:
Sudo aptitude instalirati acl
Zatim možete vidjeti proširena prava (tj. ACL) za datoteku ili direktorij s naredbom
Getfacl datoteka
I instalirajte naredbom
Setfacl datoteka
Za svaki slučaj, želio bih vam skrenuti pozornost na činjenicu da POSIX ACL mehanizam nema nikakve veze sa Sambom - on je jednostavno dodatak standardnom mehanizmu za podjelu prava u Linuxu. Sukladno tome, Samba ga može koristiti, ali ga ne može promijeniti ili zaobići na bilo koji način.
Za rad s proširenim FS atributima trebat će vam pomoćni paket vrlo sličan acl - attr , koji se može instalirati naredbom
Sudo aptitude instalirati attr
Za pregled proširenih atributa možete koristiti naredbu
Getfattr datoteka
I za ugradnju
Setfattr datoteka
Međutim, postoji jedna mala kvaka. Činjenica je da Samba pohranjuje sve informacije o nasljeđivanju u binarnom obliku u jednom proširenom atributu user.SAMBA_PAI. Stoga nećete moći ništa promijeniti koristeći setfattr, osim ako u potpunosti uklonite proširene atribute (ponekad je to potrebno učiniti).
Pa, morat ćete upravljati nasljeđivanjem prava sa Windows stroja koristeći standardne alate ovog sustava. Ili pomoću uslužnog programa smbcacls, ako znate kako ga koristiti.
Postoji i eksperimentalni VFS modul acl_xattr, koji vam omogućuje pohranjivanje NT ACL-ova u potpunosti u proširenim atributima. Nažalost, ne postoji nikakva dokumentacija o tome, pa je teško reći nešto razumljivo o tome. Očekuje se da će Samba 4 imati punu integriranu podršku za NT ACL-ove, ali za sada možete koristiti ono što je dostupno.
Ako imate nešto dodati o proširenim atributima u Sambi i metodama rada s njima, svakako pišite na ovu temu na forumu. Bio bih zahvalan za sve linkove, članke i komentare na tu temu.
Osim toga, prošireni atributi datotečnog sustava omogućuju Sambi da omogući potpunu podršku za DOS atribute datoteka kao što su skriveni, arhivski, itd.
Dakle, pretpostavimo da imate direktorij na sustavu koji želite dijeliti putem Sambe (i nalazi se na disku montiranom s podrškom za acl i user_xattr). Sada zapravo trebate konfigurirati njegovo dijeljenje. Da biste to učinili, trebate unijeti odgovarajuće podatke u datoteku /etc/samba/smb.conf.
Počnimo s općim postavkama koje se mogu dodati u odjeljak ove datoteke (ovo nisu svi mogući parametri, samo nekoliko vrlo korisnih):
# Onemogućite dijeljenje pisača. Osim, naravno, ako ih stvarno ne želite podijeliti. # Za potpuno gašenje morate navesti sva 4 retka ispod load printers = no show add printer wizard = no printcap name = /dev/null disable spoolss = yes # Učini skrivenim kada se gleda s Windows datoteke sa sljedećim imenima hide files = /$RECYCLE.BIN/desktop.ini/lost+found/Thumbs.db/ # Koristite sljedećeg UNIX korisnika kao gosta za javno dijeljenje dijeljenja računa gosta = nitko # Tretirajte neregistrirane korisnike kao goste mapirajte guest = Loš korisnik ## Postavke koje koriste atribute proširenog datotečnog sustava # Rukovanje nasljeđivanjem prava korištenjem proširenih atributa datotečnog sustava map acl inherit = da # Koristi proširene atribute datotečnog sustava za pohranu DOS atributa pohrani dos atribute = da # Onemogući mapiranje DOS atributa na UNIX-u prava omogućena zadana # Prema čovjeku smb.conf, kada koristite proširene atribute, ove opcije moraju biti onemogućene arhiva karte = nema sustava karte = nema skrivene karte = nema karte samo za čitanje = ne
Sada postavke za izravno dijeljeni resurs. Ja to zovem profilima, a fizički na Ubuntu stroju na kojem se nalazi /var/data/profiles:
# Komentar komentara = Korisnički profili # Put do mape koju dijelimo path = /var/data/profiles/ # Korisnici s neograničenim pravima pristupa dijeljenju # Imam grupu administratora domene. # Kada radite s datotekama, ovi se korisnici tretiraju kao lokalni root admin korisnici = "@DOMAIN\Domain Administrators" # Sakrij mape kojima korisnik nema pristup sakrij nečitljivo = da # Pristup koji nije samo za čitanje samo za čitanje = ne # Maske za stvorene datoteke - mogu se postaviti po želji #create mask = 0600 #directory mask = 0700 # Onemogućavanje zaključavanja - bolje je onemogućiti zaključavanje = ne
Postoje mnoge druge mogućnosti - isplati se konzultirati Samba dokumentaciju za detalje.
Ne zaboravite postaviti ispravan vlasnik i prava pristupa mapi koju dijelite, inače, unatoč svim samba postavkama, pisanje u nju može biti zabranjeno na razini dopuštenja za Linux. Obično to radim ovako:
Sudo chmod ug+rwx /var/data/profiles sudo chown root:"korisnici domene" /var/data/profiles
Imajte na umu, budući da je vaš Ubuntu stroj pridružen domeni, možete koristiti korisnike domene i grupe kao vlasnike datoteka izravno u Ubuntuu.
Provjerite je li Samba konfiguracija ispravna s naredbom
Testparm
Zatim ponovno pokrenite Sambu:
Sudo /etc/init.d/samba ponovno pokrenite
Sada možete pristupiti dijeljenom resursu s bilo kojeg stroja u domeni.
Usput, ne zaboravite na SGID i Sticky bitove za imenike. Oni će vam omogućiti da naslijedite vlasničku grupu i spriječiti korisnike da izbrišu datoteke koje nisu njihove - ovo može biti vrlo zgodno za pohranu za više korisnika. Međutim, za razliku od prava na uređivanje iz sustava Windows, mijenjanje ovih bitova u mapama na zajedničkom resursu neće raditi - samo ručno izravno na Ubuntu računalu.
Između ostalog, Samba vam omogućuje organiziranje pohranjivanja prethodnih verzija datoteka, što je ponekad korisno pri stvaranju zajedničkih resursa s korisničkim podacima.
Samostalni poslužitelj datoteka
Nemaju svi domenu Active Directory. Stoga se često javlja potreba za organiziranjem Linux stroj izvanmrežno skladištenje datoteka s vlastitim sustavom autorizacije. Vrlo je jednostavno za napraviti.
Glavna značajka ove organizacije pohrane datoteka bit će da će svi podaci o korisnicima biti pohranjeni u Samba bazi podataka, sukladno tome, korisnici će se morati ručno dodavati i brisati u Sambu.
Najvažnije je odlučiti o načinu pristupa resursu. Da biste ga promijenili, morate ispravno postaviti vrijednost sigurnosnog parametra u odjeljku datoteke /etc/samba/smb.conf. Više o ovom parametru možete pročitati ili u službenoj dokumentaciji.
Obično je vrijednost koja se koristi udio ili korisnik.
Samostalni poslužitelj datoteka bez autorizacije
Zgodno je za kuću da svatko svakoga vidi. To se može učiniti dodavanjem 4 reda u odjeljak /etc/samba/smb.conf datoteke. Neki možda već postoje.
[globalna] radna grupa = mapa RADNE GRUPE na gosta = loš korisnik netbios ime = BILJEŽNICA sigurnost = korisnikNOTEBOOK - naziv računala koje će biti na mreži. Osim toga, morate instalirati dodatni programi:
sudo apt-get instalirajte sambuZa kubuntu također morate instalirati smb4k. Nakon uređivanja konfiguracija, trebate ponovno pokrenuti usluge. U systemd-u (od 15.04) ponovno pokretanje izgleda ovako:
sudo systemctl restart smbd.service nmbd.serviceMožete vidjeti "lopte" kroz preglednik datoteka nautilus, konkueror ili ovako:
Smbclient -L 127.0.0.1
. Službena dokumentacija na engleskom jeziku.
Dijeljenje mape na ubuntu
Stvorite mapu za dijeljenje datoteka.
mkdir ~/dijeliDodajte sljedeće retke na kraj datoteke /etc/samba/smb.conf, zamjenjujući yuraku1504 korisničkim imenom računala na kojem je pokrenuta Samba:
[ MyShareWork] komentar = Anonymous Samba Share path = / home/ yuraku1504/ share guest ok = da za pregledavanje = da za pisanje = da samo za čitanje = bez prisilnog korisnika = yuraku1504 prisilna grupa = yuraku1504Mapa će se otvoriti za čitanje i pisanje.