Condividere cartelle con Samba

Published by gasolino on Friday, November 2, 2007 - 20:03:10 - Filed under Linux, Connettività, Reti

La strada semplice, in Ubuntu 7.04, è quella di usare l’interfaccia grafica “Sistema->Amministrazione->Cartelle condivise”. Questa strada è ottima se volete condividere singole cartelle, impostando anche i permessi di lettura/scrittura. Se però intendiamo creare una configurazione più “seria” ci si deve sporcare le mani con il file di configurazione /etc/samba/smb.conf, oppure con un interfaccia web come Swat.

Per le mie esigenze Swat è certamente esuberante, per cui mi limito a fare piccole modifiche al file di configurazione. Per prima cosa imposto il gruppo di lavoro e la descrizione del computer:

# Change this to the workgroup/NT-domain name your Samba server
# will part of
   workgroup = CASA
	
# server string is the equivalent of the NT Description field
   server string = Asus Notebook (Ubuntu)

Imposto il livello di sicurezza su share (di default è user) che per una rete domestica va benissimo. Questo permette a tutti nella rete locale di vedere la lista delle cartelle condivise prima di autenticarsi;

# "security = user" is always a good idea.
# This will require a Unix account
# in this server for every user accessing the server. See
# /usr/share/doc/samba-doc/htmldocs/Samba3-HOWTO/ServerType.html
# in the samba-doc package for details.
   security = share

Poi indico CUPS come server di stampa di questa macchina

# If you want to automatically load your printer list rather
# than setting them up individually then you'll need this
   load printers = yes
	
# CUPS printing.  See also the cupsaddsmb(8) manpage in the
# cupsys-client package.
   printing = cups
   printcap name = cups

Non resta che descrivere le condivisioni. Ad esempio la mia home è condivisa, ma non è visibile (browsable) e richiede l’identificazione, mentre la partizione dati è liberamente accessibile e scrivibile come una comune condivisione Windows:

[home]
comment = Home directories
path = %H
valid users = topolino, pippo, paperino
read only = No
create mask = 0664
directory mask = 0775
browsable = no
	
[Dati]
path = /media/Dati
comment = Partizione Dati
create mask = 0665
force group = plugdev
available = yes
browsable = yes
public = yes
writable = yes

In questo caso topolino, pippo e paperino dovranno avere un account valido sul server samba per accedere alla propria home, e dovranno essere aggiunti a samba con il comando

$ sudo smbpasswd -a topolino

che richiederà di creare una password samba per quell’utente.

Montare cartelle condivise con Cifs

Published by gasolino on Friday, November 2, 2007 - 20:00:51 - Filed under Linux, Connettività, Reti

Nautilus può tranquillamente navigare le cartelle condivise di una rete Microsoft® non appena si sia installato Ubuntu. Tuttavia in alcuni casi può essere utile montare localmente le cartelle remote, ad esempio per vedere un film con MPlayer, che al contrario di Totem non legge attraverso il protocollo smb.

Per montare cartelle di una rete Microsoft® esistono i filesystem smbfs e cifs. Il secondo, per la mia esperienza, funziona meglio del primo, ma necessita di alcune operazioni preliminari da compiere prima di essere utilizzato.

Installare i pacchetti smbfs (a cui si accompagna anche cifs) e winbind.

$ sudo apt-get install smbfs winbind

A questo punto si fa una piccola modifica ad un file di configurazione:

$ sudo vim /etc/nsswitch.conf

Cambiare la riga

hosts: files dns

in

hosts: files dns wins

Adesso si può riavviare la rete oppure riavviare il computer tout court. Si può montare una partizione con il comando:

$ sudo mount -t cifs \
-o rw,guest,iocharset=utf-8,allow_other \
//server/condivisione /punto/di/montaggio

sostituendo i nomi di server, condivisione e punto di montaggio con quelli che desiderate. In Ubuntu, se il punto di montaggio è dentro la cartella /media (es. /media/condivisione1) apparirà un’icona della condivisione sul desktop quando sarà montata, sempre che abbiate attivato l’opzione in Nautilus (da gconf-editor: apps -> nautilus -> desktop).

Scambio file con gli infrarossi

Published by gasolino on Friday, November 2, 2007 - 19:47:58 - Filed under Linux, Connettività

IrDA non è configurato di default su Ubuntu 7.04, per cui per scambiare file con telefonini etc è necessario fare alcuni passi:

  1. installare il pacchetto mancante irda-utils;
  2. configurare irda-utils
  3. $ sudo dpkg-reconfigure irda-utils
  4. nella schermata che si presenta impostare
    • Activate IrDa on boot-up: yes
    • Attempt to probe for IrDa at system boot: yes
    • Discovery mode: yes
    • Typ of the IrDa-adaptor: native
    • Typ of the FIR-chip: none
    • Options for the modules of the FIR-chip: ?
    • Port for setserial to deactivate: ?
  5. riavviare IrDA:
  6. $ sudo /etc/init.d/irda-utils stop
    $ sudo /etc/init.d/irda-utils start
  7. caricare il driver FIR IrDA:
  8. $ sudo modprobe irda
  9. posiziona il dispositivo a infrarossi (telefono, PDA o altro), con gli infrarossi attivati, ovviamente, davanti al ricevitore IrDA del computer e scopri se tutto è andato a buon fine:
  10. $ cat /proc/net/irda/discovery

L’ultimo comando dovrebbe riportare l’identificazione del cellulare IrDA. A questo punto è possibile usare obexftp per inviare/scaricare file nello stesso modo usato con il bluetooth (vedi guida relativa), ma con l’opzione -i (o –irda) anziché -b [<device>]. Ad esempio per listare il contenuto del telefono si può dare:

$ obexftp -i -l
$ obexftp -i -c "Immagini" -l ## lista il contenuto della cartella 'Immagini'

Per ricevere file si deve ricorrere al demone obexpushd, quindi installatelo nel modo consueto. Infine avviatelo con

$ obexpushd -I

e quello resterà in ascolto e riceverà i file in arrivo dal vostro telefono, salvandoli nella directory in cui lo avete avviato oppure nella vostra home (se lo avete avviato con “Alt+F2”).

Scambio file Bluetooth

Published by gasolino on Friday, November 2, 2007 - 19:09:42 - Filed under Linux, Connettività

Far funzionare lo scambio file bluetooth sul mio notebook è stato semplicissimo. Il tutto consiste nell”installare i pacchetti bluez-pin bluez-utils obexftp gnome-bluetooth:

$ sudo apt-get install bluez-utils \
bluez-pin obexftp gnome-bluetooth

I comandi da terminale più semplici e utili sono i seguenti:

  • Per cercare i dispositivi:
    $ hcitool scan
  • Per visionare i file sul dispositivo:
    $ obexftp -b <nome-dispositivo> \
    -l [percorso/al/file]
  • Per spedire o scaricare file verso/da il telefono:
    $ obexftp -b <nome-dispositivo> \
    -p /percorso/al/file.sul.computer
    $ obexftp -b <nome-dispositivo> \
    -g /percorso/al/file.sul.telefono
  • Per ricevere file spediti dal telefono va avviato il programma gnome-obex-server, che si occupa di stabilire la comunicazione quando richiesto e scaricare il file.

Per chi preferisce l”uso dell”interfaccia grafica, Nautilus ha il comando contestuale “invia a”, al quale dovrebbe essere apparsa la voce “Bluetooth”. Selezionate il dispositivo al quale volete inviare il file selezionato e premete “invia”. Nelle ultime versioni che ho provato c”erano ancora problemi con nomi di file contenenti spazi o caratteri strani. Questi problemi non si verificano con i comandi da terminale.

Il demone bluez-pin si occupa di autorizzare i dispositivi attraverso l’uso del pin. Quando il pin sarà richiesto si aprirà una finestra che chiederà di inserirlo.