Ubuntu + ultima versione di samba, i collegamenti simbolici non funzionano più sulla condivisione montata su Windows


14

Ho appena ottenuto (apt-got?) L'ultimo software per la mia casella Linux Ubuntu 9.10 e ho notato che samba era incluso nell'aggiornamento.

Dopo l'installazione, i collegamenti simbolici nella mia directory home non funzionano più se montati come unità nella mia scatola di Linux. Hanno funzionato letteralmente pochi secondi prima che facessi l'aggiornamento. Tutte le mie normali directory funzionano bene. Visualizzando l'elenco delle directory sulla riga di comando, tutti i file, le directory e i collegamenti hanno le stesse autorizzazioni esatte, ma questo è l'errore che ottengo:

Location is not available
L:\LinkDir is not accessible.
Access is denied.

Ho guardato sui forum e ho visto questa opzione per smb.conf

follow symlinks = yes
wide symlinks = yes
unix extensions = no

Ho inserito quelli, ma non hanno avuto alcun effetto. Qualcuno ha ancora avuto questo problema?

Risposte:


19

Si è verificato un recente problema di sicurezza in Samba ( 5 febbraio 2010 ), un presunto exploit zero-day che ha sfruttato una configurazione predefinita non sicura. Secondo un post sui forum di Ubuntu sull'argomento, l' opzione "collegamenti estesi" ora viene impostata automaticamente su no .

Apparentemente il nome dell'opzione è stato cambiato da quelle precedenti istruzioni che hai trovato.

L'aggiunta di questo alla sezione globale del file smb.conf dovrebbe risolvere il problema:

follow symlinks = yes
wide links = yes
unix extensions = no

Dopo aver salvato smb.conf , assicurati di riavviare Samba:

sudo /etc/init.d/samba restart

1
Penso che la configurazione consigliata sia quella di mettere follow symlinkse wide linksnella sezione della condivisione (anziché globale) per motivi di sicurezza. La unix extensionsdirettiva dovrebbe andare nella sezione globale come indicato dall'utente 36732 di seguito.
Matteo,

non ha funzionato per me; server samba su Ubuntu raspberrypi: cifs mount su arch linux.
Necktwi,

2

Questo mi ha aiutato anche se non pensavo che avrebbe funzionato. Ho due condivisioni Samba su mu Ubuntu. In entrambe le condivisioni utilizzo i link simbolici ma in una disrectory (condivisa) i link simbolici funzionavano ma in un'altra disrectory (anche condivisa) non lo erano.

Non ho avuto problemi a seguire i collegamenti su Linux ma su Win non avrebbe funzionato.

Potrei anche usare due finestre puTTy l'una accanto all'altra, una nella mia directory / data e una nella mia directory / data2 ed emettere lo stesso comando: ln -s / data3 / Mydata.

La directory Mydata apparirà in entrambe le mie unità mappate nella casella Win ma in un caso funzionerebbe ma nell'altro visualizzerei un errore "Accesso negato".

"Unix extensions = no" ha funzionato ma non so perché ...


0

Ho avuto lo stesso problema, ma per me inserire "unix extensions = no" nella sezione [globale] di smb.conf ha risolto il problema. È importante inserirlo nel flag di estensione unix nella sezione globale (valido per tutte le condivisioni), poiché questo viene analizzato prima che Samba sappia a quale condivisione l'utente si connette. L'opzione Wide links può andare nella condivisione a cui si applica.

Solo un'osservazione per coloro che sono stati morsi da questo comportamento e vogliono evitare eventi simili in futuro: il team di samba non legge i tracker dei bug della distribuzione, ma hanno il loro elenco:

samba-technical@lists.samba.org

Il team di samba vive con l'impressione che solo una piccola minoranza di persone sia affetta da questo errore e può essere convinta solo se più persone fanno sentire la propria voce. Quindi, se ti interessa, lascia un messaggio a samba-technical@lists.samba.org

Grazie,

Alain


0

NB: ho già pubblicato questo messaggio per rispondere a un'altra domanda , ma quando si pubblica solo il collegamento, la mia risposta (molto breve!) È stata convertita in un commento a questa domanda iniziale (vedi sopra) e diventa leggermente invisibile. Quindi, per visibilità, ecco di nuovo la risposta completa:

Per consentire ai client Samba di seguire i collegamenti simbolici al di fuori del percorso condiviso, tutto ciò che serve nella configurazione di Samba è:

[global]
allow insecure wide links = yes
unix extensions = no

[myShare]
wide links = yes

(oltre alle definizioni condivise da Samba, ovviamente). Questo è, teoricamente, sufficiente per i client * nix.

NB: la direttiva "follow symlink" non è necessaria in quanto l'impostazione predefinita è "yes"

Per quanto riguarda i client Windows, manca ancora 1 impostazione per consentire loro di seguire tali collegamenti. Fare così :

  1. aprire una shell di Windows con privilegi di amministratore
  2. correre :

    fsutil behavior set SymlinkEvaluation L2L:1 R2R:1 L2R:1 R2L:1
    
  3. riavviare per ricaricare le impostazioni

NB: lo stesso risultato può essere ottenuto modificando il registro di Windows. Vedi link sotto

fonti:

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.