w48 j-6 Tee Linuxista Samba-palvelin, testaa Windowsista lukemalla ja kirjoittamalla tiedostoja ja tekemällä kansioita. Liitä Windowsista SMB-jako Linuxiin käyttäen sekä komentoriviä että Gnomen Places:Connect to Network Server, testaa kuten edellä. Kuvaile jokin muu organisaation käyttöön sopiva tiedostojako.
Suoritin harjoituksen 01.12.2005 aikana, luokassa 5013 koneella numero 06. Aikaa harjoitukseen kului kaiken kaikkiaan noin 2 tuntia, josta dokumenttien kirjoittaminen vei noin tunnin verran.
Aloitin harjoituksen(samba-palvelimen rakentaminen) tutustumalla ensin opettajan materiaaliin jota löytyi täältä ja täältä. Tämän jälkeen homma jatkui asentamalla SAMBA seuraavalla komennolla:
[root@localhost ~]# yum -y install samba-client samba
Kun SAMBA oli onnistuneesti asennettu, oli vuorossa palomuurin konfigurointi samba-palveluiden liikenteen sallimiseksi. Tämä onnistui lisäämällä seuraavat säännöt palomuurille:
iptables -I INPUT 1 -p tcp --source 172.28.1.129/255.255.0.0 --dport 137:139 -j ACCEPT iptables -I INPUT 1 -p udp --source 172.28.1.129/255.255.0.0 --dport 137:139 -j ACCEPT iptables -I INPUT 1 -p tcp --source 172.28.1.129/255.255.0.0 --dport 445 -j ACCEPT iptables -I INPUT 1 -p udp --source 172.28.1.129/255.255.0.0 --dport 445 -j ACCEPT
Kun palomuuriin oli tarvittavat reiät avattu, oli seuraavaksi vuorossa SELinuxin disablointi harjoitusten ajaksi. Homma hoitui komennolla:
# setenforce 0
Jonka jälkeen olikin jo aika testata mitä portteja koneessa oli auki. Testaaminen sujui mukavasti nmap-ohjelmalla kutakuinkin näin:
[root@localhost etc]# nmap 172.28.1.129 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-12-01 17:31 EET Interesting ports on 172.28.1.129: (The 1659 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE 137/tcp closed netbios-ns 138/tcp closed netbios-dgm 139/tcp closed netbios-ssn 445/tcp closed microsoft-ds Nmap finished: 1 IP address (1 host up) scanned in 25.452 seconds
Nmap komennon tulosteesta näemme, että kaikki samba-palvelun tarvitsemat portit ovat auki, mutta niissä ei ole palveluita päällä. Siispä seuraavaksi onkin vuorossa samban käynnistys, joka tapahtuu näin:
[root@localhost ~]# /etc/init.d/smb start
Palveluiden käynnistyksen jälkeen ajoin uudestaan nmap skannauksen -sV parametrilla, joka kertoi seuraavaa:
[root@localhost etc]# nmap -sV 172.28.1.129 Starting nmap 3.81 ( http://www.insecure.org/nmap/ ) at 2005-12-01 17:37 EET Interesting ports on 172.28.1.129: (The 1659 ports scanned but not shown below are in state: filtered) PORT STATE SERVICE VERSION 137/tcp closed netbios-ns 138/tcp closed netbios-dgm 139/tcp open netbios-ssn Samba smbd 3.X (workgroup: MYGROUP) 445/tcp open netbios-ssn Samba smbd 3.X (workgroup: MYGROUP) Nmap finished: 1 IP address (1 host up) scanned in 33.450 seconds
Eli nyt noissa porteissa olikin jo "elämää". Seuraavaksi olikin jo aika kokeilla listata juuri avattuja samba jakoja localhost-yhteydellä.
[root@localhost ~]# smbclient -L localhost -U % Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.14a-2] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba Server) ADMIN$ IPC IPC Service (Samba Server) Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.14a-2] Server Comment --------- ------- LOCALHOST Samba Server Workgroup Master --------- ------- MYGROUP
Eli localhost-jaot näkyivät hienosti localhostin kautta. Kokeilin vielä miten jaot näkyivät verkon kautta seuraavalla komennolla:
[root@localhost ~]# smbclient -L 172.28.1.129 -U % Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.14a-2] Sharename Type Comment --------- ---- ------- IPC$ IPC IPC Service (Samba Server) ADMIN$ IPC IPC Service (Samba Server) Domain=[MYGROUP] OS=[Unix] Server=[Samba 3.0.14a-2] Server Comment --------- ------- LOCALHOST Samba Server Workgroup Master --------- ------- MYGROUP
Eli myös verkon kautta oli jaot näkyvissä. Tämän jälkeen lisäsin samba-käyttäjän. Tässä oli erikoisuutena se, että samban 3-versiossa käytetään smbpasswd-komentoa käyttäjän lisäämiseen, kun aikaisemmissa versiossa on käyttäjän lisääminen tapahtunut smbadduser-komennolla...
[root@localhost ~]# smbpasswd -a mika New SMB password: Retype new SMB password: Added user mika.
Käyttäjän lisäämisen jälkeen olikin jo aika kokeilla yhteyksiä konnektoitumalla jakoon ko. käyttäjänä:
[root@localhost ~]# smbclient //172.28.1.129/mika -U mika%Password Domain=[LOCALHOST] OS=[Unix] Server=[Samba 3.0.14a-2] smb: \> ls . D 0 Thu Dec 1 17:29:01 2005 index_files D 0 Tue Nov 8 19:59:47 2005 .. D 0 Thu Nov 24 17:16:24 2005 pxeboot.html 14278 Tue Nov 8 19:59:59 2005 .bashrc H 124 Mon Nov 7 18:56:51 2005 .eggcups DH 0 Mon Nov 7 18:58:18 2005 .bash_history H 2711 Mon Nov 28 19:37:07 2005 j-4.html 8978 Thu Nov 24 18:28:24 2005 dhcp.txt 239 Thu Nov 17 16:59:25 2005 Desktop D 0 Thu Dec 1 17:34:06 2005 .esd_auth H 16 Mon Nov 7 19:19:09 2005 .bash_logout H 24 Mon Nov 7 18:56:51 2005 .gtkrc-1.2-gnome2 H 133 Mon Nov 7 18:58:15 2005 iptables.txt 5709 Thu Nov 24 19:23:00 2005 .nautilus DH 0 Mon Nov 7 18:58:22 2005 .rhn-applet.conf H 497 Mon Nov 7 18:58:24 2005 .ICEauthority H 378 Thu Dec 1 16:57:27 2005 .gstreamer-0.8 DH 0 Mon Nov 7 18:58:21 2005 iptables.man 66166 Thu Nov 24 19:25:43 2005 john.txt 4394 Mon Nov 28 19:34:21 2005 .mozilla DH 0 Mon Nov 7 18:58:38 2005 .local DH 0 Wed Nov 9 16:58:54 2005 bin D 0 Thu Nov 24 17:24:07 2005 boot_image D 0 Wed Nov 9 18:40:31 2005 .gnome2 DH 0 Mon Nov 28 19:37:19 2005 .Trash DH 0 Thu Dec 1 17:03:20 2005 pxeboot_files D 0 Tue Nov 8 19:59:59 2005 .gnome DH 0 Mon Nov 7 18:58:22 2005 .gconf DH 0 Thu Dec 1 16:57:31 2005 nmap_man.txt 65722 Mon Nov 28 19:21:27 2005 .recently-used H 3775 Thu Dec 1 17:34:07 2005 index.php 10036 Tue Nov 8 19:59:47 2005 .gnome2_private DH 0 Mon Nov 7 18:58:12 2005 .Xauthority H 66 Thu Dec 1 16:57:26 2005 .gconfd DH 0 Thu Dec 1 17:34:26 2005 .bash_profile H 191 Mon Nov 7 18:56:51 2005 ssh.txt 1865 Thu Nov 24 18:06:08 2005 wakeonlan-0.41-0.fdr.1.noarch.rpm 11258 Tue Nov 8 19:50:12 2005 .dmrc H 26 Mon Nov 7 18:58:12 2005 boot.iso.html 8700 Wed Nov 9 18:46:15 2005 ville.html 7875 Wed Nov 9 16:59:03 2005 .ssh DH 0 Thu Nov 17 17:04:37 2005 .gtkrc H 120 Mon Nov 7 18:56:51 2005 .metacity DH 0 Mon Nov 7 18:58:24 2005 nmap.txt 6095 Mon Nov 28 19:19:27 2005 36375 blocks of size 2097152. 31676 blocks available smb: \>
Ylläolevan perusteella oli syytä olettaa että yhteys toimi kuten pitikin. Tein lisäksi pari muuta testiä joissa loin uusia hakemistoja sekä siirtelin tiedostoja hakemistosta toiseen ja myös poistin tiedostoja. Kaikki nämä toimenpiteet onnistuivat, joten nähdäkseni minulla oli toimiva samba-jako käytössäni.
Tämän jälkeen kävin vielä kokeilemassa jakojen toimivuutta windows-koneelta seuraavalla komennolla:
net use * \\172.28.1.129\mika /USER:mika
Tein myös windows-koneella jakoon uusia hakemistoja, siirtelin tiedostoja paikasta toiseen ja poistin joitain tiedostoja. Myös windowsissa kaikki nämä operaatiot onnistuivat hienosti. Tein lopuksi samat kokeet graafisella työkalulla Linux-koneessani sekä myös windows-koneessa enkä näiden graafisten työkalujen käytössäkään huomannut mitään erikoista, joten ensimmäinen osa harjoituksesta oli mielestäni kokonaisuudessaan onnistuneesti suoritettu. Seuraavana olikin vuorossa siirtyä testaamaan miten linux toimii client-koneena windows verkoissa...
Linux samba-clienttina windows verkossa
Tässä osassa harjoitusta oli tarkoituksena ottaa yhteyksiä windows-koneiden jakoihin tietyllä käyttäjätunnuksella. Aloitin harjoituksen luomalla normaalin Linux-käyttäjän nimeltä kaapo, jonka tunnuksilla testit oli tarkoitus tehdä. Normaalikäyttäjän luominen ei kuitenkaan käsittääkseni ollut pakollista testien suorittamiseksi, mutta ainakin omasta mielestäni tuo selkeytti harjoituksen tekoa hiukan.
# adduser kaapo
Normaali käyttäjän luonnin jälkeen loin samaisen käyttäjän myös sambaan:
# smbpasswd -a kaapo (salasana=zhryf13b)
Seuraavaksi loin kaapo-käyttäjän kotihakemistoon hakemiston nimeltä windowsshare, jonka alle oli tarkoitus nuo windows jaot mountata.
$ mkdir windowsshare
Minkä jälkeen loin kaapo-käyttäjän kotihakemistoon tiedoston nimeltään sambapass. Tämä tiedosto sisälsi myöhemmin harjoituksessa tarvittavia tietoja. Kannattaa huomioida se, että ko. tiedoston kaikkia tietoja tarvitaan onnistuneen mounttaamisen takaamiseksi. Tiedosto sisälsi seuraavat rivit:
# $HOME/sambapass username = kaapo password = zhryf13b domain = WORKGROUP
Seuraavaksi oli vuorossa luonnollisesti setupin testaaminen, eli yhteyden otto windows jakoon:
[kaapo@localhost ~]$ smbclient //172.28.1.124/jako -U kaapo%zhryf13b session request to 172.28.1.124 failed (Called name not present) session request to 172 failed (Called name not present) Domain=[MUUTAHETI] OS=[Windows 5.0] Server=[Windows 2000 LAN Manager] smb: \> dir . D 0 Thu Dec 1 17:13:31 2005 .. D 0 Thu Dec 1 17:13:31 2005 testi.txt.txt A 27 Thu Dec 1 16:57:11 2005 37032 blocks of size 2097152. 36220 blocks available smb: \> exit
Testi onnistui hienosti ja windows jako sisältöineen näkyi hienosti. Tämän jälkeen olikin vuorossa pysyvän jaon tekeminen /etc/fstab tiedoston avulla. Ajatuksena on editoida allaolevan listan viimeisen rivin näköinen rivi fstab-tiedostoon. Huomaa, että tässä hyödynnetään käyttäjän kotihakemiston sambapass-tiedosta!! Nano editorin ja vastaavien käyttäjien kannattaa muistaa -w parametri tiedostoa editoitaessa, sillä rivien on tarkoitus olla yhtenäisiä....
[root@localhost etc]# cat fstab # This file is edited by fstab-sync - see 'man fstab-sync' for details /dev/VolGroup00/LogVol00 / ext3 defaults 1 1 LABEL=/boot1 /boot ext3 defaults 1 2 /dev/devpts /dev/pts devpts gid=5,mode=620 0 0 /dev/shm /dev/shm tmpfs defaults 0 0 /dev/proc /proc proc defaults 0 0 /dev/sys /sys sysfs defaults 0 0 LABEL=SWAP-hdc3 swap swap defaults 0 0 /dev/VolGroup00/LogVol01 swap swap defaults 0 0 /dev/fd0 /media/floppy auto pamconsole,exec,noauto,managed 0 0 /dev/hdd /media/cdrecorder auto pamconsole,exec,noauto,managed 0 0 //172.28.1.124/jako /home/kaapo/windowsshare smbfs credentials=/home/kaapo/sambapass,uid=kaapo,gid=kaapo,dmask=700,fmask=700 0 0
Kun tiedostoon on lisätty tuo viimeinen rivi, ajetaan roottina "mount -a" komento ja katsotaan meneekö mounttaus onnistuneesti läpi:
[root@localhost etc]# mount -a 27019: session request to 172.28.1.124 failed (Called name not present) 27019: session request to 172 failed (Called name not present)
Ylläolevista herjoista huolimatta jako oli nyt siis onnistuneesti mountattu. Tarkistetaan vielä tilanne käyttäjän kotihakemistosta löytyvästä windowsshare hakemistosta...
[kaapo@localhost ~]$ ls sambapass windowsshare [kaapo@localhost ~]$ cd windowsshare/ [kaapo@localhost windowsshare]$ ls testi.txt.txt [kaapo@localhost windowsshare]$ touch meikän_testi [kaapo@localhost windowsshare]$ ls -la total 21 drwx------ 1 kaapo kaapo 4096 Dec 1 19:18 . drwxr-xr-x 3 kaapo kaapo 4096 Dec 1 19:09 .. -rwx------ 1 kaapo kaapo 0 Dec 1 19:23 meikän_testi -rwx------ 1 kaapo kaapo 27 Dec 1 16:57 testi.txt.txt [kaapo@localhost windowsshare]$
Ylläolevan perusteella voimme todeta myös tämän osan harjoituksesta onnistuneesti suoritetuksi.
Viimeisenä osana harjoitusta oli kuvailla jokin muu organisaation käyttöön soveltuva tiedostonjako. Kuvaileminen on tylsää, koska internetti on pullollaan mainioita lähteitä joita voivat kaikki lukutaitoiset käydä tutkailemassa.... Vinkkinä kuitenkin, että alkuun hommassa pääsee esimerkiksi Fusen ja/tai WebDAVin kanssa...
Harjoituksen aihe oli hiukan tuttu entuudestaan, mutta harjoituksia tehtäessä tuli huomattua miten paljon taidot olivat ruostuneet siitä kun viimeksi sambaa on tullut käytettyä. Kaiken kaikkiaan antoisa harjoitus.
Eipä tässä mitään ihmeempiä jäänyt mietittävää, paitsi jakojen toteuttaminen kotiympäristöönkin ;)
Copyright (c) 2005 Mika Karjalainen. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation; with no Invariant Sections, no Front-Cover Texts, and no Back-Cover Texts.