Creare un share da Windows accessibile anche da GNU/Linux

In questo tempo le notizie interessanti da riportare in un blog come questo sono veramente diffuse con il contagocce.

Le ferie, il caldo che ti toglie la voglia di fare qualsiasi cosa mi fanno ripiegare sulle guide che fanno sempre comodo, leggendo in giro ho trovato questa che vi voglio riproporre alla mia maniera.

Vi voglio illustrare come creare e quindi accedere a delle cartelle in condizione di share create su Windows attraverso la vostra GNU/Linux box.

Insomma, per farla breve, condividere contenuti di qualsiasi genere con Samba da un pc Win ad un Tux (lo so che è cosa ormai facile da fare anche in modalità grafica ma il fascino della console è forte e poi una rinfrescata all’argomento non fa mai male).

Prima alcune formalità; proprio per non confonderci vi farò un elenco dei nomi usati in modo da sapere subito di cosa stiamo parlando:

  • MioUsername e MiaPassword i dati di autenticazione lato server
  • NomeServer il nome del pc Win
  • NomeShare la cartella o risorsa condivisa
  • MountDir sta ad indicare la cartella di mount nel pc Tux (vi consiglio di crearla nella vostra home)

è importante sapere che NomeServer deve avere un determinato indirizzo assegnato quindi o editate da shell il file /etc/hosts del pc linux dove andrete a dare una corrispondenza del nome del pc con il proprio ip o usate direttamente l’indirizzo ip del server windows trascurando il nome; l’importante è che ad un comando come questo dato in una shell:

1
ping NomeServer

il risultato sia l’indirizzo ip della macchina Win che funge da server.

Installate quindi Samba.

Per montare uno share si utilizza il seguente comando che andrà digitato da shell (tutto in una riga):

1
$ smbmount //NomeServer/NomeShare /MountDir -o username=MioUsername,password=MiaPassword

chiaramente il comando non è permanente quindi allo spegnimento del pc tutte le impostazioni date andranno a farsi benedire, se volete rendere il tutto bello stabile ed automatico dovete editare il file /etc/fstab:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# /etc/fstab: static file system information.
#
#  — This file has been automaticly generated by ntfs-config –
#
# <file system> <mount point>   <type>  <options>       <dump>  <pass>
 
proc /proc proc defaults 0 0
# Entry for /dev/sda1 :
UUID=1d72ade8-9030-448e-83ab-f77b310510e0 / ext3 defaults,errors=remount-ro 0 1
# Entry for /dev/sda5 :
UUID=852a4458-2d45-4f57-9f88-a8221490c51a none swap sw 0 0
/dev/scd0 /media/cdrom0 udf,iso9660 user,noauto 0 0
#
# smbmount
#
//NomeServer/NomeShare /MountDir smbfs username=MioUsername,password=MiaPassword 0 0

le informazioni sopra scritte andranno aggiunte nel file dove essersi autenticati come root da terminale.

Quelle che ho scritto non sono dati validi per tutti ma andranno modificati a seconda delle vostre esigenze in generale dovete guardare alla ultima riga tralasciando le informazioni delle partizioni sovrastanti le quali non andranno assolutamente modificate.

Potete inserire anche più righe a seconda di quanti share vogliate creare.

Lo share appena montato può essere letto e scritto solo da un utente root mentre i normali user potranno solo leggere la cartella condivisa ma non modificare alcun file.

Ammettiamo di avere un utente di nome “Pippo” facente parte del gruppo “comunimortali” che volgiamo autorizzar alla lettura/modifica dei file, sarà sufficiente modificare la riga prima aggiunta la file /etc/fstab:

1
2
//NomeServer/NomeShare /MountDir smbfs username=MioUsername,password=MiaPassword
uid=Pippo,gid=comunimortali  0 0

in questo modo l’utente sarà autorizzato, se vi sono molti utenti da autorizzare vi consiglio la costruzione di un gruppo apposito, ad esempio “grupposamba”, che andrete ad autorizzare diminuendo così le righe da aggiungere al file.

Avvolte è possibile che un utente non root non riesca a montare o smontare lo share in questione potete forzare il tutto con:

1
2
chmod u+s /usr/bin/smbmnt
chmod u+s /usr/bin/smbumount

Buona condivisione.
Ciao a tutti.

P.S.0: dimenticavo il file fstab è di pubblico dominio e quindi accessibile a tutti che possono aprirlo e leggere le vostre credenziali di accesso verso lo share Win, per ovviare a tale problema create un file .smbaccess nella vostra home, scriveteci dentro user e pass dello share di Win ed eseguite i seguenti comandi da shell:

1
2
3
4
$ echo username=MioUsername > /home/MIOUTENTE/.smbaccess
$ echo password=MiaPassword >> /home/MIOUTENTE/.smbaccess
 
chmod 600 /home/MIOUTENTE/.smbaccess/.smbpasswd

in questo modo avrete modificato i permessi di lettura del file, ora ritornate al file stab e modificate la riga della vostra condivisione come segue:

1
$ //NomeServer/NomeShare /MountDir smbfs credentials=/home/MIOUTENTE/.smbaccess 0 0

Link

Ciao a tutti.



2 commenti presenti

  1. haunted85No Gravatar gennaio 30, 2010 13:01

    Grazie mille!! :D
    Ho provato tantissime guide, tutorial, ho chiesto ad esperti… questa piccola guida è stata fantastica ed utilissima!!

    L’unica cosa è che il file da modificare è /etc/hosts ;)
    Un saluto!!

  2. ShaytanNo Gravatar gennaio 30, 2010 15:57

    Grazie mille e grazie della segnalazione che ho prontamente corretto :-)

Lascia un commento

Rispetta le regole del blog. La tua e-mail non verrà pubblicata.