Condivisione Samba semplice - NESSUNA PASSWORD


17

Ciò che di cui ho bisogno:

Semplice configurazione di samba per file server senza password e lettura completa in scrittura per tutti. Nessuna sicurezza necessaria.

Storia:

Sto creando un server per ospitare file per la mia casa. L'obiettivo del server è ospitare file per macchine Windows. La migliore che sono riuscito a fare finora è questa configurazione. Con ciò, sono in grado di vedere le condivisioni e il server dalla rete, ma dice che Windows non può accedervi. Sto usando Linux Mate sul server, tutti gli ultimi aggiornamenti.

La mia configurazione:

[global]

   workgroup = BIOHAZARD
   netbios name = MATUSALEM
   guest account = nobody
   log file = /usr/local/samba/var/log.%m
   max log size = 50
   security = user
   map to guest = bad user
   encrypt passwords = yes

# Share Definitions 
[homes]
   comment = Home Directories
   browseable = no
   writable = yes

[Teste]
    path = /home/peter/share
    writable = yes
    printable = no
    comment = teste
    only guest = yes
    public = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
[REDE]
    comment = TESTE 2
    public = yes
    delete readonly = yes
    path = /HOME/REDE
    writeable = yes
        guest ok = yes
        guest only = yes
        guest account = nobody
        browsable = yes
######

Qualche idea?


Risposte:


22

Sì, Samba può essere un dolore. Lo uso per casa mia e per lavoro.

La prima cosa da fare è ricominciare da capo per facilitare la risoluzione dei problemi. Puoi farlo eseguendo il comando qui sotto nel terminale.

dpkg-reconfigure samba-common

Quindi vai alla cartella sul server samba che desideri condividere e assicurati che l'utente nessuno possa leggere e scrivere sulla condivisione. Questo perché l'utente nessuno è il nome utente utilizzato dai client Windows. Di solito faccio semplicemente una cartella nella directory / solo per mantenere le cose semplici, ma il modo "corretto" sarebbe quello di creare una sottocartella di / srv. Se non hai già modificato le autorizzazioni, utilizza i comandi seguenti.

sudo chown -R nobody.nogroup the_folder
sudo chmod -R 777 the_folder

Puoi anche verificare se nessuno può scrivere nella directory eseguendo il seguente comando come root.

sudo -u nobody touch test_file

Modifica il tuo /etc/samba/smb.conf e aggiungi le righe sotto la definizione di condivisione [stampanti].

[share_name]              ;the share name can be what ever you want
browseable = yes
path = the_complete_path_to_the_shared_folder
guest ok = yes
read only = no
create mask = 777

Quindi, quando hai finito, salvalo ed esegui quanto segue.

testparm

Questo ti avviserà se hai fatto errori di battitura. Successivamente, devi solo riavviare i servizi di samba.

sudo systemctl restart smbd
sudo systemctl restart nmbd

Questo ha funzionato perfettamente! Copiato per riferimento futuro. il problema era la cosa chmod! grazie mille.
Peter Reynold Robinson Junior,

1
Ottimo lavoro per capirlo, la maggior parte si sarebbe semplicemente arresa. Ricorda che con la condivisione dei file, su qualsiasi sistema operativo, le autorizzazioni sono spesso il problema.
Andrew,

1
Grande. questo funziona per me, ho solo un problema quando provo a reinstallare Samba, ma il problema era perché è necessario anche fare sudo apt-get autoremovee quindi sudo apt-get purge samba*
iLevi

Ciò ha provocato un errore durante l'avvio di nmdb dopo il completamento dell'installazione di samba, con log.nmdb che diceva "errore durante l'apertura del file di configurazione" e nessuna cartella / etc / samba presente. Un nuovo tentativo del processo di eliminazione e rimozione e di reinstallazione ha comportato lo stesso ripetutamente.
Frank H.

Questo è l'UNICO approccio funzionante su Internet! Mi salvi la giornata, grazie.
Evi Song,

0

Mi rendo conto che questo è un vecchio thread, ma mi ha aiutato a risolvere il problema della creazione e della condivisione di una cartella senza il login richiesto. Molti altri thread là fuori ma sono fuorvianti. Di seguito ho fornito una guida sui semi-biginner in quanto ci sono così tante piccole differenze con altri post là fuori che ho pensato che potesse aiutare qualcun altro che ha quasi rinunciato e si è strappato la metà dei capelli :-)

Per quanto mi riguarda, su un'immagine AWS Linux predefinita (Amazon Linux AMI 2017.03.0 (HVM)) ho dovuto creare la cartella nella directory principale / poiché non potevo assegnare le autorizzazioni se creata con l'utente ec2 predefinito. Quando ho assegnato le autorizzazioni ho dovuto usare nobody.nobody come nogroup non ha funzionato. infine ho dovuto includere la mappa su guest = utente non valido nella sezione del server autonomo gloabl dove per impostazione predefinita si dice security = user

Quindi i passaggi completi sarebbero sulla distribuzione di un nuovo server:

installare samba se necessario

crea la cartella e assegna le autorizzazioni

sudo su
cd /
mkdir the_folder
chown -R nobody.nobody the_folder
chmod -R 777 the_folder

modifica il file samba

nano /etc/samba/smb.conf

trova la riga # ---- Opzioni server standalone ---- aggiungi "map to guest"

security = user
passdb backend = tdbsam
map to guest = Bad User

Nella sezione # ==== Definizioni di condivisione ==== aggiungi la tua condivisione

[SHARENAME]
path = the_folder
read only = no
create mask = 777
guest ok = yes

Salva il file e riavvia samaba

/etc/init.d/smb restart

0

Oltre alla risposta di @Andrew, il recente aggiornamento da Ubuntu 17.04 a 17.10 crea problemi sul systemctl samba-dc-ad.service . Presumibilmente non è un bug sulla maschera quando si tenta di reinstallare samba su samba-dc-ad.service (intensional). Passaggi aggiuntivi prima della risposta di @ Andrew , se si verificano problemi con l'installazione / reinstallazione di samba a causa dell'aggiornamento:

  1. apt-get update & apt-get-upgrade <- assicurarsi che non vi siano aggiornamenti in sospeso
  2. apt-get install samba
  3. vai a questa pagina e segui le istruzioni: https://wiki.samba.org/index.php/Managing_the_Samba_AD_DC_Service_Using_Systemd

  4. apt-get -f installa samba

  5. Fai i passaggi precedenti, ora. :-)
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.