[Risolto] [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Networking, configurazione della connessione, periferiche e condivisione di rete, ecc.

[Risolto] [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Lect3r » martedì 6 luglio 2010, 16:48

Ciao.
Fino a Ubuntu 9.10 usavo uno script bash che avevo inserito tra le applicazioni d'avvio per far sì che a ogni utente registrato nel PC corrispondessero alcune condivisioni dei due NAS che uso.
Per esempio, lo script per uno degli utenti poteva essere questo:

#!/bin/bash
mount.cifs //192.168.0.26/Archivio /home/claudio/Rete/Prezzemolo/Archivio -o user=claudio,password=Password_utente,rw
mount.cifs //192.168.0.26/Biblioteca /home/claudio/Rete/Prezzemolo/Biblioteca -o user=claudio,password=Password_utente,rw
mount.cifs //192.168.0.26/Claudio /home/claudio/Rete/Prezzemolo/Claudio -o user=claudio,password=Password_utente,rw
mount.cifs //192.168.0.25/rp_studio /home/claudio/Rete/Opuscolo/Studio -o user=claudio,password=Password_utente,rw
mount.cifs //192.168.0.25/Ufficio /home/claudio/Rete/Opuscolo/Ufficio -o user=claudio,password=Password_utente,rw

Tutto funzionava a meraviglia: le condivisioni venivano montate e i documenti dentro le condivisioni apparivano di proprietà dell'utente che aveva effettuato il login.

Con Ubuntu 10.04 lo script non funziona più e le condivisioni samba non vengono montate.
Devo eseguire lo script con sudo, ma in questo modo i documenti dentro le condivisioni appaiono di proprietà di root (cosa che per me è disastrosa), anche se specifico utente e password nel comando mount.cifs. Lo stesso accade se opero da fstab o da /etc/init.d/rc.local.

Ho bisogno di capire due cose:
1. Perché con Ubuntu 10.04 lo script all'avvio non funziona più?
2. C'è modo di risolvere la questione?

In passato sono state aperte alcune discussioni che hanno affrontato il problema di come montare automaticamente all'avvio le condivisioni samba, ma a me funzionava tutto. È solo con la 10.04 che sono nati problemi.

Grazie per tutto l'aiuto che potrete darmi.
Ultima modifica di Lect3r il lunedì 12 luglio 2010, 23:19, modificato 1 volta in totale.
Il mio lavoro è il mondo libero: Linux, LibreOffice, Gimp, Inkscape, Joomla, VirtueMart.
www.claudioromeo.it
Avatar utente
Lect3r
Prode Principiante
 
Messaggi: 59
Iscrizione: febbraio 2010

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Koach » giovedì 8 luglio 2010, 17:56

Ciao

Con i NAS ho avuto un po' di problemi e ho risolto con i parametri di mount:
Normalmente io mount come simile a questo.

sudo mount.cifs //192.168.0.26/archivio /media/cartella_di_mount -o rw,file_mode=0777,dir_mode=0777,nounix,user=utente,password=Password_utente

con file_mode e dir_mode dai i permessi ai file e alle cartelle del mount in modo che gli utenti possano scrivere e leggere con tranquillita dall'unità

Se poi hai bisogno che la connessione non si presenti all'utente root, ma a quello loggatp puoi provare con l'aggiunta dei parametri

uid=1000,gid=1002
dove

uid=codice dell'utente da "forzare" per il mount
Gid=codice del gruppo da "forzare" per il mount.

fammi sapere
Koach
Prode Principiante
 
Messaggi: 36
Iscrizione: ottobre 2009

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Lect3r » venerdì 9 luglio 2010, 8:05

Koach ha scritto:
sudo mount.cifs //192.168.0.26/archivio /media/cartella_di_mount -o rw,file_mode=0777,dir_mode=0777,nounix,user=utente,password=Password_utente

fammi sapere


Grazie per i suggerimenti, però il problema è proprio nel sudo: con lo script che fino alla 9.10 funzionava, io mettevo uno script con le istruzioni mount tra le applicazioni d'avvio degli utenti desktop (non sudoer) e incredibilmente tutto veniva montato bene. Così ogni utente che faceva il login si trovava montate le condivisioni cui aveva accesso e non altre.

Con la 10.04 questo script non funziona più e non so perché. Però io ho bisogno di un modo per far sì che ogni utente veda montate solo alcune condivisioni e non altre; e che, oltretutto, siano montate in una sottodirectory della propria home, perciò con un percorso diverso da utente a utente.

Con i tuoi suggerimenti sono intervenuto nel fstab e ho inserito queste istruzioni (scusa la lunghezza):

# Condivisioni dell'utente Amministratore
//192.168.0.26/archivio /home/amministratore/Rete/Prezzemolo/Archivio smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/biblioteca /home/amministratore/Rete/Prezzemolo/Biblioteca smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/condivisa /home/amministratore/Rete/Prezzemolo/Condivisa smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/documentazione /home/amministratore/Rete/Prezzemolo/Documentazione smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/edicola /home/amministratore/Rete/Prezzemolo/Edicola smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/famiglia /home/amministratore/Rete/Prezzemolo/Famiglia smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/lavori /home/amministratore/Rete/Prezzemolo/Lavori smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/magazzino /home/amministratore/Rete/Prezzemolo/Magazzino smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/modelli /home/amministratore/Rete/Prezzemolo/Modelli smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/public /home/amministratore/Rete/Prezzemolo/Public smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qdownload /home/amministratore/Rete/Prezzemolo/Qdownload smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qmultimedia /home/amministratore/Rete/Prezzemolo/Qmultimedia smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qrecordings /home/amministratore/Rete/Prezzemolo/Qrecordings smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qweb /home/amministratore/Rete/Prezzemolo/Qweb smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.25/rp_studio /home/amministratore/Rete/Opuscolo/Studio smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.25/ufficio /home/amministratore/Rete/Opuscolo/Ufficio smbfs username=amministratore,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
#
# Condivisioni dell'utente Claudio
//192.168.0.26/archivio /home/claudio/Rete/Prezzemolo/Archivio smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/biblioteca /home/claudio/Rete/Prezzemolo/Biblioteca smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/claudio /home/claudio/Rete/Prezzemolo/Claudio smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/condivisa /home/claudio/Rete/Prezzemolo/Condivisa smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/documentazione /home/claudio/Rete/Prezzemolo/Documentazione smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/edicola /home/claudio/Rete/Prezzemolo/Edicola smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/famiglia /home/claudio/Rete/Prezzemolo/Famiglia smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/lavori /home/claudio/Rete/Prezzemolo/Lavori smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/magazzino /home/claudio/Rete/Prezzemolo/Magazzino smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/modelli /home/claudio/Rete/Prezzemolo/Modelli smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/public /home/claudio/Rete/Prezzemolo/Public smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qdownload /home/claudio/Rete/Prezzemolo/Qdownload smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qmultimedia /home/claudio/Rete/Prezzemolo/Qmultimedia smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qrecordings /home/claudio/Rete/Prezzemolo/Qrecordings smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qweb /home/claudio/Rete/Prezzemolo/Qweb smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.25/rp_studio /home/claudio/Rete/Opuscolo/Studio smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.25/ufficio /home/claudio/Rete/Opuscolo/Ufficio smbfs username=claudio,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
#
# Condivisioni dell'utente Luisa
//192.168.0.26/biblioteca /home/luisa/Rete/Prezzemolo/Biblioteca smbfs username=luisa,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/condivisa /home/luisa/Rete/Prezzemolo/Condivisa smbfs username=luisa,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/edicola /home/luisa/Rete/Prezzemolo/Edicola smbfs username=luisa,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/famiglia /home/luisa/Rete/Prezzemolo/Famiglia smbfs username=luisa,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/public /home/luisa/Rete/Prezzemolo/Public smbfs username=luisa,password=mia_password,rw,user,file_mode=0777,dir_mode=0777,nounix
//192.168.0.26/qmultimedia /home/luisa/Rete/Prezzemolo/Qmultimedia smbfs username=luisa,password=mia_password,ro,user,file_mode=0777,dir_mode=0777,nounix

Ora, questo fstab produce risultati e messaggi d'errore bizzarri, ma alla fine succede ciò che voglio: ogni utente si trova nella propria /home/Rete le due cartelle Opuscolo e Prezzemolo (Luisa solo Prezzemolo) che contengono le condivisioni cui l'utente ha accesso. Nota che, per esempio, Luisa accede a Qmultimedia solo in lettura.

Se anche tutto ciò funziona, mi sembra che una serie di istruzioni del genere siano ben incasinate e che ci dovrebbe essere un modo più pulito per ottenere lo stesso risultato.

Sto cercando di capire se potrebbe funzionare uno stratagemma che prevede l'inserimento nel fstab delle condivisioni, con le opzioni user e noauto, e poi per ogni utente uno script da lanciare al login con le istruzioni mount corredate dei parametri specifici. Tu che ne pensi?

Stasera proverò (oggi sarò fuori tutto il giorno), ma se nel frattempo tu mi facessi avere un tuo parere mi aiuteresti.

Grazie per tutto.
Il mio lavoro è il mondo libero: Linux, LibreOffice, Gimp, Inkscape, Joomla, VirtueMart.
www.claudioromeo.it
Avatar utente
Lect3r
Prode Principiante
 
Messaggi: 59
Iscrizione: febbraio 2010

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Koach » venerdì 9 luglio 2010, 18:26

I messaggi di errore "bizzarri" dovrebbero riferirisi al fatto che, nel momento del carico di fstab lui prova a fare il mount di tutto;
Quindi anche delle unità che non fanno capo all'utente con cui hai fatto il login, e che non ha possibilità di scrivere nella cartella di mount dell'altro user (Login con utente claudio, non puo scrivere in Amministratore e quindi errore (12) o simili)

In effetti non credevo avessi coì tante unità per ogni singolo utente, quindi mi sembrava più ovvio lavorare con fstab.

Ora, tu hai ancora i vecchi script che funzionavano all'avvio con 9.04?

Stavo pensando ad una cosetta... .. ..

E se modifcassi il file /etc/sudoers per permettere agli utenti non sudo di usare il comando?

Una volta si faceva per far montare alcuni dischi SCSI hotswap....

editando con visudo il file si dovrebbe aggiungere in Cmnd alias specification

Codice: Seleziona tutto
username     ALL=(ALL) NOPASSWD:/bin/mount


A questo punto utilizzando sudo faii il mount di tutto con gli script di prima...
Koach
Prode Principiante
 
Messaggi: 36
Iscrizione: ottobre 2009

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Lect3r » sabato 10 luglio 2010, 15:23

Koach ha scritto:E se modifcassi il file /etc/sudoers per permettere agli utenti non sudo di usare il comando?

Una volta si faceva per far montare alcuni dischi SCSI hotswap....

editando con visudo il file si dovrebbe aggiungere in Cmnd alias specification

Codice: Seleziona tutto
username     ALL=(ALL) NOPASSWD:/bin/mount


A questo punto utilizzando sudo faii il mount di tutto con gli script di prima...


Grazie, Koach: mi hai messo sulla strada giusta!
Ho dovuto trafficare un po' per far funzionare tutto, ma alla fine ogni cosa è andata a posto.
Riporto qui tutti gli aggiustamenti che ho fatto: magari possono essere utili a te e ad altri.
Inoltre, ci sono alcuni punti che mi piacerebbe approfondire, anche se il sistema ora funziona.

Prima di tutto, ho modificato il file /etc/sudoers:
Codice: Seleziona tutto
# User privilege specification
root   ALL=(ALL) ALL
claudio   ALL=(ALL) NOPASSWD: /sbin/mount.cifs
luisa   ALL=(ALL) NOPASSWD: /sbin/mount.cifs

# Uncomment to allow members of group sudo to not need a password
# (Note that later entries override this, so you might need to move
# it further down)
# %sudo ALL=NOPASSWD: ALL

# Members of the admin group may gain root privileges
%admin ALL=(ALL) ALL
amministratore   ALL = NOPASSWD: /sbin/mount.cifs

Segnalo tre cose:
  • 1. ho inserito i privilegi speciali degli utenti nella sezione User privilege specification e non nella sezione Cmnd alias specification come mi avevi suggerito. In realtà non è importante, perché le istruzioni possono stare ovunque in sudoers, ma mi sembra che questa sistemazione sia più sensata
  • 2. il privilegio speciale per amministratore (che nel mio sistema fa parte del gruppo admin) ho dovuto inserirlo per forza in fondo, perché altrimenti viene scavalcato da %admin ALL=(ALL) ALL
  • 3. il comando che gli utenti possono eseguire senza autenticazione non è /bin/mount ma /sbin/mount, che io ho usato nella versione mount.cifs

Poi ho costruito gli script che montano le condivisioni, uno per utente.
Le istruzioni degli script sono tutte nella forma
Codice: Seleziona tutto
sudo mount.cifs //192.168.0.26/Archivio /home/amministratore/Rete/Prezzemolo/Archivio -o user=amministratore,pass=mia_password,rw,uid=amministratore

Ovviamente i percorsi e l'utente cambiano secondo le situazioni.
Ho però dovuto inserire l'opzione uid=amministratore (che mi avevi suggerito) per far sì che le cartelle montate e i file in esse appaiano di proprietà dell'utente che ha fatto il login.

A questo punto per ogni utente ho inserito lo script corrispondente tra le applicazioni d'avvio: tutto funziona a meraviglia.

Mi resta un dubbio: esiste un modo per eseguire automaticamente al logout di ogni utente uno script che smonti le condivisioni? Questo mi serve perché pare che la connessione di rete wireless venga smontata prima delle condivisioni, provocando perciò un rallentamento anche lunghissimo delle operazioni di chiusura.
Tra le preferenze di Ubuntu c'è quella che permette di impostare le applicazioni al login, ma non quelle al logout. C'è modo di farlo?
Inoltre, mi piacerebbe sapere dove vengono scritte le operazioni da avviare al login: qual è il file che comanda questa cosa?

Comunque, grazie di tutto.  (b2b)
Il mio lavoro è il mondo libero: Linux, LibreOffice, Gimp, Inkscape, Joomla, VirtueMart.
www.claudioromeo.it
Avatar utente
Lect3r
Prode Principiante
 
Messaggi: 59
Iscrizione: febbraio 2010

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Koach » domenica 11 luglio 2010, 0:42

Ciao Lect3r.
Sono felice di averti aiutato..

in effetti nella sezione dove le hai inserite hanno più senso, ma in realtà la divisione ha solo un valore relativo, ti li inserisci per user, io li gestivo per raggruppamento di comando.

/sbin/mount.cifs

perchè usi la versione mount.cifs...
Se nello script avessi usato

mount -t smbfs

andava bene /bin/mount.

Giusto precisare che ci sono le 2 strade e che entrambe portano alla stessa soluzione.

Per quanto rigurada l'umount pre shutdown non credo esista una sezione di script pre-uscita.
Però si potrebbe sfruttare un posizionamento di uno script nella cartella /etc/init.d/ e poi da caricare con il comando update-rc.d nelle cartelle rcX.d di shutdown del sistema

Ovviamente prima della chiusura della networking o se usi NetworkManager di gdm o del servizio NetworkManager.

Questa potrebbe essere una soluzione. inoltre ti permetterebbe di fregartene dell'utente connesso, lanciando tutti gli umount in fila.

Provo comunque ad indagare se esiste un parte di Script al logout, potrebbe esser utile per altri utenti!
Ultima modifica di Anonymous il lunedì 12 luglio 2010, 10:03, modificato 1 volta in totale.
Koach
Prode Principiante
 
Messaggi: 36
Iscrizione: ottobre 2009

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Lect3r » domenica 11 luglio 2010, 11:17

Koach ha scritto:Giusto precisare che ci sono le 2 strade e che entrambe portano alla stessa soluzione.

Per quanto rigurada l'umount pre shutdown non credo esista una sezione di script pre-uscita.
Però si potrebbe sfruttare un posizionamento di uno script nella cartella /etc/init.d/ e poi da caricare con il comando update-rc.d nelle cartelle rcX.d di shutdown del sistema

Ovviamente prima della chiusura della networking o se usi NetworkManager di gdm o del servizio NetworkManager.

Questa potrebbe essere una soluzione. inoltre ti permetterebbe di fregartene dell'utente connesso, lanciando tutti gli umount in fila.

Provo comunque ad indagare se esiste un parte di Script al logout, potrebbe esser utile per altri utenti!


Grazie Koach.
Ho provato un po' di soluzioni, ma ora sono giunto alla disperazione  >:(
Ho realizzato uno script Smonta_condivisioni.sh, con tutte le istruzioni umount, che funziona regolarmente se avviato da Terminale.
Purtroppo non riesco in alcun modo ad avviarlo automaticamente allo spegnimento o al termine di una sessione (cioè al logout di un utente).
  • Ho provato a metterlo in /etc/init.d e a crearne i link simbolici con sudo update-rc.d Smonta_condivisioni.sh stop 10 0 6 .
  • Ho provato a metterlo in un'istruzione di /etc/rc.local
  • Ho provato a metterlo in un'istruzione di /etc/init.d/rc.local (nelle sezioni restart|reload|force-reload e stop)
Purtroppo lo script non viene mai avviato.
Sono intervenuto in etc/sudoers per assegnare agli utenti la possibilità di impartire il comando umount senza autenticarsi, ma (come ho detto) funziona solo da Terminale.
PECCHÉ? PECCHÉ? PECCHÉÉÉÉÉÉÉÉÉ?  :'(
Oh, scoramento e disillusione! L'alma mia negletta è ormai a quest'universo!

Vabbé, sceneggiate a parte, hai consigli?
Il mio lavoro è il mondo libero: Linux, LibreOffice, Gimp, Inkscape, Joomla, VirtueMart.
www.claudioromeo.it
Avatar utente
Lect3r
Prode Principiante
 
Messaggi: 59
Iscrizione: febbraio 2010

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Koach » lunedì 12 luglio 2010, 10:24

Gli script in init.d vengono sempre eseguiti come amministratore...

in sudoers stavolta non dovrebbe servire nulla..

Sicuro che non vengano eseguiti?
Negli script, prova a inserira un flag (creazione di una cartella o di un file) che ti permetta di capire se l'esecuzione avviene.

Inoltre controlla in /var/log/syslog se hai delle info suio comando che esegui..

Mi sembra molto strano che non vengano eseguiti... se sono stati creato correttamente.
Koach
Prode Principiante
 
Messaggi: 36
Iscrizione: ottobre 2009

Re: [Mount] Condivisioni samba all'avvio di utente desktop: con Ubuntu 10.04 non vanno più

Messaggioda Lect3r » lunedì 12 luglio 2010, 20:46

Niente da fare: non riesco proprio a farlo funzionare.
Credo che il problema sia che lo script ha bisogno di header specifici (cosa che ignoravo). Inoltre non avevo capito nulla riguardo alle opzioni start stop.
Ad ogni modo, ora mi documento meglio e faccio altre prove, poi magari posto il problema in Software. Per quanto riguarda il problema iniziale, è risolto: grazie ancora!
Ultima modifica di Lect3r il lunedì 12 luglio 2010, 23:19, modificato 1 volta in totale.
Il mio lavoro è il mondo libero: Linux, LibreOffice, Gimp, Inkscape, Joomla, VirtueMart.
www.claudioromeo.it
Avatar utente
Lect3r
Prode Principiante
 
Messaggi: 59
Iscrizione: febbraio 2010


Torna a Connessione e configurazione delle reti

Chi c’è in linea

Visualizzano questa sezione: 0 utenti registrati e 3 ospiti