Nessun accesso alle condivisioni Samba


8

Ho tre cartelle condivise nella mia home directory locale, vale a dire, sul desktop di Ubuntu / home / me /. Tutti sono stati impostati utilizzando "Opzioni di condivisione" nel menu di scelta rapida di Nautilus. Le cartelle "Musica" e "Video" standard sono configurate in modo identico: la casella "Accesso ospite" è selezionata, ma non lo è "Consenti ad altri di creare ed eliminare". La terza cartella, denominata "condivisa", è configurata per non consentire l'accesso Ospite ma per consentire ad altri di modificare i file. Non ho modificato /etc/samba/smb.confa mano, ho usato solo le opzioni di condivisione per creare e modificare queste cosiddette "condivisioni".

I miei coinquilini hanno due computer Windows 7 e un netbook Ubuntu Netbook Remix. Ho la suddetta macchina desktop e laptop in esecuzione 10.04. Nessuna di queste macchine può accedere a nessuna delle condivisioni. I tentativi di accedere alle condivisioni Guest generano il messaggio

\\machine\directory is not accessible. The network name could not be found.

Questo è il messaggio di errore generato da una macchina virtuale che esegue Windows 2000. Le altre macchine Windows generano un errore simile. Il laptop Ubuntu dà l'errore Unable to mount location: Failed to mount Windows share. Evviva, ancora una volta, messaggi di errore informativi. Questo aiuta davvero molto.

Quando tento di sfogliare la cartella chiamata "condivisa" dal laptop, mi trovo di fronte una finestra di dialogo della password. Questo comportamento è lo stesso di tutte le macchine che ho provato nella situazione. Inserendo il mio nome utente e password per l'account a cui appartengono le condivisioni, la finestra di dialogo della password scompare brevemente e viene sostituita con una finestra di dialogo identica. Non appare alcun messaggio di errore, utile o no.

Quando si tenta di sfogliare questa cartella con la VM, il risultato è lo stesso, tranne per il fatto che la finestra di dialogo della password indica "nome utente o password errati". La mia ipotesi è che il nome utente e la password in questione siano quelli dell'utente proprietario delle condivisioni. Ho provato tutte le altre combinazioni di nome utente e password disponibili in questo contesto e il risultato è lo stesso.

Vorrei poter condividere file. Condividerli con macchine Windows è una bella funzionalità, o sarebbe se fosse disponibile. In realtà prendo in considerazione la condivisione di file tra due macchine con la stessa versione dello stesso sistema operativo come condizione minima per l'usabilità della rete.

L'ultima volta che Samba ha funzionato in modo affidabile per me più di dieci anni fa. Ho cercato di usarlo e spegnerlo da allora con successo solo intermittente.

Oh, e "Condivisione di file personali" dal menu Preferenze non comporta una voce in Luoghi → Rete → my-server. In effetti, la vecchia voce "MY-SERVER" scompare e viene sostituita da "file pubblici di koanhead sul mio server", che quando provo ad aprirlo dal laptop dà un "DBus.Error.NoReply: il messaggio non ha ricevuto una risposta."

So di venire qui e lamentarmi molto di Ubuntu, ma d'altra parte passo letteralmente ore ogni giorno a cercare di sistemare le cose in Ubuntu. È un buon sistema che aspira alla grandezza, ed è anche per questo che cose del genere

  1. Ho bisogno di lavorare; o

  2. Essere adeguatamente documentato.

Idealmente entrambi sarebbero il caso. Ad ogni modo, falla finita. Spero che qualcuno abbia qualche idea su questo problema. Grazie a tutti coloro che si preoccupano di leggere questo wall o-text per il tuo tempo.


1
Questo non è davvero un buon modo per risolvere il problema, ma è una soluzione alternativa. Finché /etc/samba/smb.conf ha map to guest = bad usernella sezione globale e la condivisione ha guest ok = yesquindi se inserisci un nome utente e una password errati (ma non vuoto, metti solo spazzatura in entrambi i campi), le cose sembrano funzionare. So che è brutto e spero che qualcuno abbia una risposta migliore, quindi posso anche sistemare la mia configurazione.
Jeremy,

1
hai mai pensato di usare scp? metti winscp sui computer Windows e esegui ssh server sul tuo computer. Molto semplice da configurare e amministrare. I protocolli di condivisione file di Windows dovrebbero essere evitati a tutti i costi, non funzionano nemmeno molto bene tra i computer Windows. Ho rinunciato alla samba molto tempo fa.
The Unix Janitor

@Jeremy, grazie per il suggerimento, lo proverò entro i prossimi due giorni e pubblicherò i risultati qui. @ user5883, sì, uso abitualmente sshfs e occasionalmente scp- ma non posso rinunciare a Samba poiché Ubuntu lo ha adottato come metodo "ufficiale" di condivisione dei file e devo essere in grado di aiutare gli altri.
koanhead,

@Jeremy, 'map to guest = bad user' era già presente nella sezione globale di smb.conf. L'aggiunta di guest ok = yes non ha avuto alcun effetto riconoscibile.
koanhead,

2
Ho assegnato la grazia a questa risposta, non perché Samba ora funzioni correttamente, ma perché non volevo che scadesse. La condivisione di file in Ubuntu è ancora irrimediabilmente interrotta per quanto posso dire; non ha mai funzionato per me dal 2006. Samba ha funzionato in modo soddisfacente solo sotto Caldera OpenLinux (nel 1999) e Fedora Core 2. In entrambi i casi ci sono voluti diversi giorni di studio, prove ed errori. Il mio punto nel pubblicare questa domanda non era che ho bisogno di Samba per funzionare, ma che Ubuntu ha bisogno per farlo funzionare. Questo è un rompicapo per Bug # 1 e mi rende incapace di raccomandare Ubuntu.
koanhead,

Risposte:


7

Sto pensando che non abbia utenti di samba.

sudo smbpasswd -a <username>  
gksu gedit /etc/samba/smbusers  

1
questo è qualcosa che mi lanciava ... non integrando gli utenti di samba e gli utenti di sistema, ma c'è un motivo.
RobotHumans,

Dalla pagina man smbpasswd: "Inoltre, il comando smbpasswd è utile solo se Samba è stato impostato per utilizzare password crittografate". Non ho impostato samba per farlo manualmente e non so se Ubuntu lo configuri in questo modo per impostazione predefinita. Inoltre, la pagina man di smbpasswd non fa riferimento a smbusers. Intuisce che il comando 'smbpasswd -a' è sufficiente per aggiungere un utente, ma allora perché esiste il file smbusers? Perché questo dovrebbe essere rilevante anche per l'autenticazione a livello di condivisione? Le condivisioni dovrebbero essere leggibili a livello globale senza una password. Perché Samba è utilizzabile solo per gli esperti Samba?
koanhead,

Ho aggiunto un utente tramite 'smbpasswd -a' e ho riavviato smbd senza alcun effetto immediato riconoscibile. Dopo aver apportato e ripristinato alcune delle modifiche a smb.conf sopra riportate, con i relativi smbd riavviati, ora l'unica cartella denominata "condivisa" è accessibile dal laptop tramite la password che ho impostato. Quindi l'accesso a livello utente ora funziona, ma non l'accesso a livello di condivisione, che è quello che volevo davvero. L'accesso a livello di utente non è molto utile per me, poiché uso sshfs per questo, ma la tua risposta è la più corretta (l'unica che ha apportato cambiamenti positivi), quindi ti assegnerò la generosità.
koanhead,

Apprezzo il controllo ... e capisco la frustrazione. L'uso degli utenti per fornire autorizzazioni a livello di condivisione è stato qualcosa su cui mi sono imbattuto LUNGO tempo fa (ho persino dimenticato le circostanze, ma mi sentivo molto come te adesso). Per ovviare a questo problema, ha utilizzato gli utenti e ha mappato un'unità con una sorta di opzione "autentica come" nel montaggio dell'unità. Non è un vero permesso a livello di condivisione, ma mi ha dato un'implementazione gratuita che ha funzionato come desiderato.
RobotHumans,

L'ho fatto. Non ha aiutato. A proposito non esiste un file simile gksu gedit / etc / samba / smbusers, quindi l'ho salvato in modo che sia nuovo vuoto. A cosa serve? Come viene accettata questa risposta? Non funziona.
Canguro

3

Questa non è una risposta, ma più come un commento, dal momento che non ho ancora il privilegio di commentare. Non mi sorprende che il tuo coinquilino utilizzi Windows 7. A volte ho problemi a condividere file tra Windows XP e Windows 7.

Lavoravo su un computer Windows XP con Ubuntu in esecuzione in VMware e trasferivo i file tramite la condivisione tramite Samba. Quando ho provato la stessa configurazione con Windows 7, nessuna gioia.

Sembra che ci sia qualcosa che è cambiato in Windows 7. Quindi, a meno che tu non abbia problemi di condivisione con un Windows XP, non direi esattamente che Samba era più affidabile 10 anni fa.

fai riferimento qui e / o prova a ottenere versioni più recenti di Samba

http://wiki.samba.org/index.php/Windows7


1
Grazie per la risposta e mi sono sospettato che Windows 7 potesse contribuire al problema. Tuttavia, non riesco nemmeno a collegarmi da un altro computer che esegue lo stesso sistema operativo del server (Ubuntu 10.04) né la VM locale Win2k. Sfortunatamente non c'è una macchina XP nelle vicinanze con cui ho potuto provare questo. Il mio punto di vista esteso era che in Ubuntu, Samba dovrebbe funzionare (tm) poiché è il metodo di condivisione dei file "ufficiale". Dover hackerare le cose per farle funzionare va bene in Arch o anche in Fedora, ma non in Ubuntu. A proposito, quando voglio veramente usare file remoti uso sshfs.
Koanhead,

Non riesce nemmeno a connettersi a un'altra macchina Ubuntu? Ubuntu 10.04 può vedere perfettamente l'altro computer? So che probabilmente hai controllato questo, ma questi computer sono nello stesso GRUPPO?
Hansioux,

sì, i due computer Ubuntu si presentano reciprocamente in Luoghi-> Rete. In effetti tutti i computer coinvolti possono vedersi, ma nessuno può accedere alle condivisioni ospitate dalla casella Ubuntu e nessuna delle scatole Ubuntu può accedere a nessuna condivisione (non ho un account sul computer Windows, quindi non mi aspetto che per funzionare comunque.) Inizialmente i due computer Ubuntu facevano parte di un gruppo di lavoro separato, ma l'ho modificato in modo che tutti i computer della rete locale siano in "WORKGROUP".
koanhead,

3

Di solito lo faccio modificando il file conf. Ho fatto questo: sudo nano /etc/samba/smb.confe l' ho aggiunto alla fine del file.

[Shared]
     comment = My Files
     path = /home/me
     read only = yes
     write list = koanhead
     guest ok = yes

In "elenco di scrittura" menziona il tuo nome utente di sistema, in modo da avere solo l'autorizzazione di scrittura. Sul computer Windows digitare questo all'avvio: \\ ip-of-the-samba-pc \ shared. Sulla macchina Ubuntu aprire il browser dei file e digitare questo nella barra degli indirizzismb://ip-of-the-samba-pc/shared


Grazie per il suggerimento, lo proverò entro i prossimi due giorni e riferirò.
koanhead,

L'aggiunta del testo citato in /etc/samba/smb.conf fa scomparire tutte le condivisioni dalla finestra "Condivisioni Windows sul mio server" di Nautilus.
koanhead,

3

Dici di essere riuscito a far funzionare l'accesso a livello di utente. Mi sembra che sia semplicemente la tua configurazione di samba ad essere sbagliata. Ai vecchi tempi, avrei detto di cancellare samba.conf e di crearne uno semplice adatto alle tue esigenze, un vero samba.conf non deve necessariamente essere più di 10 righe, forse.

Comunque, da allora è emersa una soluzione più semplice: installare system-config-samba

sudo apt-get install system-config-samba

Prima di iniziare, potresti voler ripristinare samba.conf al suo stato originale. Per assicurarsi che nessun errore di sintassi "nascosto" si sia intrufolato durante tutta la risoluzione dei problemi

Il pannello di controllo è abbastanza semplice:

  • fai clic sul segno "+"
  • seleziona directory
  • rendere visibile (e scrivibile?)
  • vai alla scheda "Accesso"
  • scegli "Consenti accesso a chiunque"

Un modo alternativo (e leggermente più corretto) di farlo:

  • crea un utente * nix di nome: guest (o come preferisci)
    • per motivi di sicurezza assicurati che "guest" abbia /bin/falsecome shell di login (a meno che tu non voglia che il guest sia in grado di accedere anche tramite ssh ecc.)
  • nel menu "Preferenze": seleziona "Utenti Samba"
  • assicurati che "guest" sia nella lista: se non lo è, crealo.

poi

  • nel menu "Preferenze": seleziona "Impostazioni server"
  • Nella scheda "Sicurezza": in "Account ospite", seleziona "ospite"

Ora, chiunque tenti di accedere in modo anonimo verrà assegnato all'utente "ospite", e quindi disporrà di tutti i diritti di "ospite".

  • ora crea la condivisione come descritto in precedenza, tranne invece di scegliere "Consenti accesso a tutti", seleziona semplicemente "guest".

assicurarsi che l'utente * nix "guest" disponga di diritti sufficienti per leggere e / o scrivere nella cartella condivisa.

In bocca al lupo!

/ B2S


2

Affinché i nuovi sistemi Windows possano accedere alle condivisioni Ubuntu Samba attuali / precedenti, è necessario abilitare la crittografia delle password (crittografare le password = sì in smb.conf).

La cosa che è cambiata in Windows 7 è che hanno inserito un requisito di sicurezza per la crittografia delle password di Samba. Lo stesso vale per XP se è installato KB2536276.

Sono andato in giro con questo problema sulla nostra rete al lavoro fino a quando non ho trovato la soluzione di cambiare quel " no " in " " su password crittografate. Questo funziona ancora per una condivisione aperta a cui tutti hanno accesso in lettura / scrittura senza password - anche se non si dispone di password, deve comunque dire a Windows che la password inesistente è crittografata per Windows per farti accedere lì.

Questa risposta presuppone che tu abbia tutto il resto configurato per far funzionare correttamente Samba, come gli utenti (o la loro mancanza) e le autorizzazioni impostate.

Per la quota di apertura / facile senza codice di accesso, ecc, assicuratevi di avere security = share, guest account = nobodye / o map to guest = Bad Userin conf.


1

Mi dispiace dirlo, ma ho avuto lo stesso problema, il mio computer non era rilevabile in LAN, dopo che ho reinstallato il sistema (cancella reinstallare con la formattazione completa) e tutto ha funzionato bene.


1

Se si utilizza Windows 7, potrebbe essere necessario modificare le impostazioni del registro:

Consulta la wiki di Samba per ulteriori informazioni o esegui semplicemente il file Win7_SambaDomainMember.reg

Se usi Ubuntu 11.10, assicurati di aver installato python-glade2

sudo apt-get install python-glade2

1

Una soluzione semplice per condividere la cartella principale è decommentare le righe nella [homes]sezione di /etc/samba/smb.conf (rimuovere ";")


0

Credo che dovrebbe controllare se hai o meno regole firewall / iptables che lo impediscono. Se non sei sicuro che il modo più semplice sia (e anche gestire iptables in futuro) di installare ufw e

sudo ufw allow samba
sudo ufw enable

ufw è già configurato per consentire samba.
koanhead,
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.