Tiedostojen jakaminen Ubuntu 20.04:n ja Windows-järjestelmien välillä Samban avulla
On 21 tammikuun, 2022 by adminVaikka Linux on tehnyt jonkin verran tuloaan työpöytämarkkinoille, sen alkuperä ja tulevaisuus ovat pitkälti palvelinpohjaisia. Siksi ei ole yllättävää, että Ubuntussa on kyky toimia tiedostopalvelimena. On myös erittäin yleistä, että Ubuntu- ja Windows-järjestelmiä käytetään rinnakkain verkkoympäristöissä. Siksi on yleinen vaatimus, että Ubuntu-järjestelmässä oleviin tiedostoihin on pääsy Linux-, UNIX- ja Windows-pohjaisiin järjestelmiin verkkoyhteyksien kautta. Samoin Windows-järjestelmissä oleviin jaettuihin kansioihin ja tulostimiin voi olla tarpeen päästä käsiksi myös Ubuntu-pohjaisista järjestelmistä.
Windows-järjestelmät jakavat resursseja, kuten tiedostojärjestelmiä ja tulostimia, SMB-protokollan (Server Message Block) avulla. Jotta Ubuntu-järjestelmä voisi tarjota tällaisia resursseja verkon kautta Windows-järjestelmälle ja päinvastoin, sen on siis tuettava SMB:tä. Tämä onnistuu Samba-nimisen tekniikan avulla. Sen lisäksi, että Sambaa voidaan käyttää Linux- ja Windows-järjestelmien integrointiin, sitä voidaan käyttää myös kansioiden jakamiseen Linux-järjestelmien välillä (vaihtoehtona NFS:lle, jota käsiteltiin edellisessä luvussa).
Tässä luvussa tarkastelemme vaiheita, joita tarvitaan Ubuntu-järjestelmän tiedostojärjestelmäresurssien ja tulostimien jakamiseen etä-Windows- ja -Linux-järjestelmien kanssa sekä Windows-resurssien käyttämiseen Ubuntusta.
1.1 Windows-resurssien käyttäminen GNOME-työpöydältä
Ennen kuin menemme tarkemmin Samba-jakamiseen liittyviin yksityiskohtiin, on syytä huomata, että jos haluat vain käyttää Windowsin jaettuja kansioita Ubuntun GNOME-työpöydältä käsin, tuki on jo valmiina GNOME-tiedostot-sovelluksessa. Tiedostot-sovellus sijaitsee kuvassa 23-1 korostetussa viivaimessa:
Kuva 23-1
Kun olet käynnistänyt sovelluksen, valitse vasemmanpuoleisen navigointipaneelin Muut sijainnit -vaihtoehto ja sen jälkeen Windows-verkkokuvake pääpaneelissa, jolloin voit selata käytettävissä olevia Windows-tietoresursseja:
Kuva 23-2
1.2 Samba ja Samba-asiakas
Samba mahdollistaa sekä Ubuntu-resurssien jakamisen Windows-järjestelmien kanssa että Windows-resurssien jakamisen Ubuntu-järjestelmien kanssa. Ubuntu käyttää Windowsin resursseja Samba-asiakkaan avulla. Ubuntun resursseja puolestaan jaetaan Windows-järjestelmien kanssa asentamalla ja konfiguroimalla Samba-palvelu.
1.3 Samban asentaminen Ubuntu-järjestelmään
Ubuntun asennuksen aikana käytetyt oletusasetukset eivät yleensä asenna tarvittavia Samba-paketteja. Ellet ole erikseen pyytänyt Samban asentamista, on epätodennäköistä, että Samba on asennettu järjestelmääsi. Voit tarkistaa, onko Samba asennettu, avaamalla pääteikkunan ja suorittamalla seuraavan komennon:
# apt -qq list samba-common samba smbclient
Mahdolliset puuttuvat paketit voidaan asentaa apt-komentorivityökalun avulla:
# apt install samba-common samba smbclient
1.4 Ubuntun palomuurin konfigurointi Samban sallimista varten
Seuraavaksi Ubuntu-järjestelmää tällä hetkellä suojaava palomuuri on konfiguroitava siten, että se sallii Samba-liikenteen.
Jos käytät yksinkertaista palomuuria (ufw), suorita seuraava komento:
# ufw allow samba
Vaihtoehtoisesti, jos käytät firewalld:tä, suorita komento firewall-cmd seuraavasti:
# firewall-cmd --permanent --add-port={139/tcp,445/tcp}# firewall-cmd --reload
Ennen Samba-palvelun käynnistämistä on määriteltävä useita konfigurointivaiheita, jotta voidaan määritellä, miten Ubuntu-järjestelmä näkyy Windows-järjestelmille, sekä resurssit, jotka jaetaan etäasiakkaiden kanssa. Suurin osa näistä konfigurointitehtävistä tapahtuu /etc/samba/smb. conf-tiedostossa.
1.5 smb.conf-tiedoston konfigurointi
Samba on erittäin joustava ja konfiguroitavissa oleva järjestelmä, joka tarjoaa monia eri vaihtoehtoja sen hallintaan, miten resursseja jaetaan Windows-verkoissa. Tämä joustavuus voi johtaa siihen, että tuntuu, että Samban kanssa työskentely on liian monimutkaista. Todellisuudessa monet konfigurointivaihtoehdoista eivät kuitenkaan ole tyypillisessä asennuksessa tarpeellisia, ja peruskonfiguraation määrittämisen oppimiskäyrä on itse asiassa melko lyhyt.
Tässä luvussa tarkastelemme Ubuntu-järjestelmän liittämistä Windows-työryhmään ja hakemiston määrittämistä jaetuksi resurssiksi, jota tietty käyttäjä voi käyttää. Tätä kokoonpanoa kutsutaan itsenäiseksi Samba-palvelimeksi. Edistyneempiä konfiguraatioita, kuten Samban integroiminen Active Directory -ympäristöön, on myös saatavilla, mutta ne eivät kuulu tämän kirjan aihepiiriin.
Samban konfiguroinnin ensimmäinen vaihe on /etc/samba/smb.conf-tiedoston muokkaaminen.
1.5.1 Osioiden konfigurointi
Smb.conf-tiedosto on jaettu osiin. Ensimmäinen osio on osio, jossa voidaan määrittää asetuksia, jotka koskevat koko Samba-konfiguraatiota. Vaikka nämä asetukset ovat maailmanlaajuisia, kukin vaihtoehto voidaan ohittaa konfiguraatiotiedoston muissa osioissa.
Ensimmäisenä tehtävänä on määritellä sen Windows-työryhmän nimi, jossa Ubuntun resurssit jaetaan. Tätä ohjataan osion workgroup = -direktiivillä, joka on oletusarvoisesti määritetty seuraavasti:
workgroup = WORKGROUP
Aloita muuttamalla tämä tarvittaessa työryhmän todelliseksi nimeksi.
Työryhmäasetuksen lisäksi muut asetukset ilmaisevat, että kyseessä on itsenäinen palvelin, jolla jaetut resurssit suojataan käyttäjän salasanoilla. Ennen kuin siirrytään jaettavien resurssien määrittämiseen, osioon on lisättävä myös muita parametreja seuraavasti:
.. netbios name = LinuxServer..
Ominaisuus ”netbios name” määrittää nimen, jolla palvelin näkyy muille verkon järjestelmille.
1.5.2 Jaettujen resurssien määrittäminen
Seuraavaksi määritetään jaetut resurssit (eli resurssit, joihin on pääsy Windows-verkon muista järjestelmistä). Tätä varten osiolle annetaan nimi, jolla siihen viitataan, kun se on jaettu. Jos esimerkiksi aiomme jakaa Ubuntu-järjestelmämme /sampleshare-hakemiston, voimme nimetä osion nimellä . Tässä osiossa on mahdollista käyttää erilaisia määritysvaihtoehtoja. Tässä esimerkissä määrittelemme kuitenkin vain jaettavan hakemiston, ilmoitamme, että hakemisto on sekä selattavissa että kirjoitettavissa, ja ilmoitamme resurssin julkiseksi, jotta vieraskäyttäjät pääsevät siihen käsiksi:
comment = Example Samba share path = /sampleshare browseable = Yes public = yes writable = yes
Rajoittaaksemme pääsyn tiettyihin käyttäjiin voidaan käyttää esimerkiksi ominaisuutta ”valid users”:
valid users = demo, bobyoung, marcewing
1.5.3 Tarpeettomien jakojen poistaminen
Smb.conf-tiedostossa on valmiiksi määritetty osiot tulostimien ja järjestelmän käyttäjien kotikansioiden jakamista varten. Jos näitä resursseja ei tarvitse jakaa, vastaavat osiot voidaan kommentoida pois, jolloin Samba jättää ne huomiotta. Seuraavassa esimerkissä osio on kommentoitu pois:
..## comment = Home Directories# valid users = %S, %D%w%S# browseable = No# read only = No# inherit acls = Yes..
1.6 Samba-käyttäjän luominen
Jokainen käyttäjä, joka tarvitsee pääsyn Samban jaettuihin resursseihin, on määritettävä Samba-käyttäjäksi ja sille on annettava salasana. Tämä tehtävä toteutetaan smbpasswd-komentorivityökalulla. Oletetaan esimerkiksi, että käyttäjän nimeltä demo on päästävä käsiksi Ubuntu-järjestelmämme /sampleshare-hakemistoon Windows-järjestelmästä. Tämän vaatimuksen täyttämiseksi meidän on lisättävä demo Samba-käyttäjäksi seuraavasti:
# smbpasswd -a demoNew SMB password:Retype new SMB password:Added user demo.
Nyt kun olemme saaneet valmiiksi hyvin yksinkertaisen Samba-palvelimen konfiguroinnin, on aika testata konfigurointitiedostomme ja sitten käynnistää Samba-palvelut.
1.7 Testaus smb.conf-tiedoston
Smb.conf-tiedoston asetukset voidaan tarkistaa virheiden varalta testparm-komentorivityökalulla seuraavasti:
# testparmLoad smb config files from /etc/samba/smb.confrlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384)WARNING: The "syslog" option is deprecatedProcessing section ""Processing section ""Processing section ""Loaded services file OK.Server role: ROLE_STANDALONE Press enter to see a dump of your service definitions # Global parametersdns proxy = Nolog file = /var/log/samba/log.%mmap to guest = Bad Usermax log size = 1000netbios name = LINUXSERVERobey pam restrictions = Yespam password change = Yespanic action = /usr/share/samba/panic-action %dpasswd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .passwd program = /usr/bin/passwd %usecurity = USERserver role = standalone serverserver string = %h server (Samba, Ubuntu)syslog = 0unix password sync = Yesusershare allow guests = Yeswins support = Yesidmap config * : backend = tdb browseable = Nocomment = All Printerscreate mask = 0700path = /var/spool/sambaprintable = Yes comment = Printer Driverspath = /var/lib/samba/printers comment = Example Samba shareguest ok = Yespath = /sampleshareread only = No
1.8 Samba- ja NetBIOS-nimipalveluiden käynnistäminen
Jotta Ubuntu-palvelin voi toimia Windows-verkossa, sekä Samba- (SMB) että NetBIOS-nimipalvelu (NMB) -palvelut on käynnistettävä. Ota palvelut valinnaisesti myös käyttöön niin, että ne käynnistyvät aina, kun järjestelmä käynnistyy:
# systemctl enable smbd# systemctl start smbd# systemctl enable nmbd# systemctl start nmbd
Ennen kuin yrität muodostaa yhteyden Windows-järjestelmästä, tarkista smbclient-apuohjelmalla, että jako on määritetty:
# smbclient -U demo -L localhost Enter WORKGROUP\demo's password: Sharename Type Comment--------- ---- -------print$ Disk Printer Driverssampleshare Disk Example Samba shareIPC$ IPC IPC Service (demo-server2 server (Samba, Ubuntu))Officejet_Pro_8600_C7C718_ Printer Officejet_6600_971B9B_ Printer Reconnecting with SMB1 for workgroup listing. Server Comment--------- ------- Workgroup Master--------- -------WORKGROUP LINUXSERVER
1.9 Samba-jakojen käyttäminen
Nyt kun Samba-resurssit on määritetty ja palvelut ovat käynnissä, on aika käyttää jaettua resurssia Windows-järjestelmästä. Avaa sopivassa Windows-järjestelmässä, joka on samassa työryhmässä kuin Ubuntu-järjestelmä, Windows Explorer ja siirry verkkopaneeliin. Tässä vaiheessa explorerin pitäisi etsiä verkosta ja luetella kaikki löytämänsä SMB-protokollaa käyttävät järjestelmät. Seuraava kuva havainnollistaa LINUXSERVER-nimistä Ubuntu-järjestelmää, joka on paikannettu Windows Explorerilla Windows 10 -järjestelmässä:
Kuva 23-3
Kaksoisklikkaamalla LINUXSERVER-isäntäkohtaa kysytään käyttöoikeudet omaavan käyttäjän nimi ja salasana. Tässä tapauksessa kyseessä on demo-tili, jonka konfiguroimme smbpasswd-työkalulla:
Kuva 23-4
Käyttäjätunnuksen ja salasanan syöttäminen saa aikaan sen, että kyseiselle käyttäjälle konfiguroidut yhteiskäytössä olevat resurssit tulevat näkyviin explorer-ikkunaan, mukaan lukien aiemmin konfiguroitu /sampleshare-resurssi:
Kuva 23-5
Kaksoisklikkaamalla jaettua /sampleshare-resurssia saadaan näkyviin luettelo sen sisältämistä tiedostoista ja hakemistoista.
Jos Linux-järjestelmä ei näy tai jaettua kansiota on vaikea käyttää, kokeile Samba-jakoaseman kartoittamista paikalliseen Windows-asemaan seuraavasti:
- Avaa Windowsin Tiedostonhallinta (File Explorer), napsauta hiiren kakkospainikkeella vasemmanpuoleisen paneelin Verkko (Network) -merkintää ja valitse tuloksena olevasta valikosta Kartoita verkkoasema (Map network drive…).
- Kartoitetaanko verkkoasemaa (Map network drive) -valintaikkunassa (Map network drive dialogi), valitse aseman kirjain (drive letter), ennen kuin kirjoitat jaetun kansion polun. Esimerkiksi:
\LinuxServer\sampleshare
Valitse valintaruutu Connect using different credentials -kohdan vieressä. Jos et halua, että asemaa kartoitetaan joka kerta, kun kirjaudut Windows-järjestelmään, poista vastaava valintaruutu käytöstä:
Kuva 23-6
Kun asetukset on syötetty, kartoita asema napsauttamalla Finish-painiketta ja antamalla kehotettaessa aiemmin luvussa määritetyn Samba-käyttäjän käyttäjänimi ja salasana. Lyhyen viiveen jälkeen Samba-jakajan sisältö näkyy uudessa File Explorer -ikkunassa.
1.10 Windows-jakajien käyttäminen Ubuntusta
Kuten aiemmin mainittiin, Samba on kaksisuuntainen, sillä se sallii Windows-järjestelmien pääsyn Ubuntu-järjestelmässä isännöityihin tiedostoihin ja tulostimiin, mutta myös sen, että Ubuntu-järjestelmä voi käyttää Windows-järjestelmien jaettuja resursseja. Tämä onnistuu tämän luvun alussa asennetun smbclient-paketin avulla. Jos sitä ei ole tällä hetkellä asennettu, asenna se terminaali-ikkunasta seuraavasti:
# apt install smbclient
Windows-järjestelmän jaettuihin resursseihin pääsee käsiksi joko Ubuntun työpöydältä Files-sovelluksen avulla tai komentoriviltä smbclient- ja mount-työkalujen avulla. Tämän jakson vaiheissa oletetaan, että Windows-järjestelmässä on otettu käyttöön asianmukaiset verkonjakoasetukset.
Käyttääksesi Windows-järjestelmän jaettuja resursseja GNOME-työpöydän kautta, aloita käynnistämällä Tiedostot-sovellus ja valitsemalla Muut sijainnit -vaihtoehto. Tämä tuo näkyviin alla olevassa kuvassa 23-7 esitetyn näytön, joka sisältää Windows-verkon kuvakkeen (jos sellainen on havaittu):
Kuva 23-7
Valitsemalla Windows-verkko-vaihtoehdon saat näkyviin verkossa havaitut Windows-järjestelmät ja sallit pääsyn kaikkiin jaettuihin resursseihin.
Kuva 23-8
Vaihtoehtoisesti Connect to Server (Yhdistä palvelimeen) -vaihtoehdon avulla voidaan muodostaa yhteys tiettyyn järjestelmään. Huomaa, että etäjärjestelmän nimen tai IP-osoitteen etuliitteenä on oltava smb:// ja sitä voi seurata polku tiettyyn jaettuun resurssiin, esimerkiksi:
smb://WinServer10/Documents
1.11 Yhteenveto
.
Vastaa