Come far condividere Samba a NON RICHIEDERE PASSWORD


20

NOTA: probabilmente ho letto fino a 50 pagine diverse che descrivono come impostare la condivisione Samba pubblica nell'arco di 2 ANNI e nulla ha mai funzionato per me. Non so di quanto RTFM ho bisogno per impostare queste cose.

Ho bisogno / voglio impostare una condivisione di file pubblica completamente aperta sul mio server di casa per due workstation.

L'installazione è la seguente:

Server :

  • Debian Wheezy
  • sudo smbd --versionmi dà Version 3.6.6.
  • 2 partizioni locali che voglio condividere, formattate in NTFS perché vecchie e prese dal computer Windows. Non posso formattarli in ext * FS perché hanno molti dati che non posso (ancora) spostare altrove.
  • macchina chiamata "homeserv" per mancanza di originalità.

Cliente :

  1. Test Debian (Jessie)
  2. Windows 7 (2 macchine diverse). In effetti, la mia macchina è dual boot Debian / Windows e la macchina di mia moglie è solo Windows.

Il mio smb.conf dopo la distillazione appare come segue (alla lettera , non c'è nient'altro):

[global]
  workgroup = WORKGROUP
  security = user
  map to guest = Bad User

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 0755

Su entrambi i computer client, sia in Debian che in Windows ottengo lo stesso risultato: finestra di dialogo login / password. Nessuna combinazione di security = user, map to guest = Bad user, security = share, guest ok = yese come ha aiutato.

Windows 7 mostra la finestra di dialogo di accesso / password subito dopo aver fatto clic sul computer condiviso nelle vicinanze della rete. smb://homeserv/il percorso del file in Debian (in qualsiasi browser di file) mi mostra due cartelle: disk1e disk2, come previsto, provando ad aprirle porta la finestra di login / password.

Quindi, cosa mi manca nello schema per NON DEVI inserire login / password? Questa è una domanda di usabilità, non creerò un'autenticazione basata sull'utente per il file junkyard.

Risposte:


14

OK, ho trovato una risposta me stesso.

Poiché ciò non è assolutamente ovvio da documenti e HOWTO e quant'altro, il motivo per cui questa cosa richiede la password è perché non può mappare l'utente guest al proprietario della directory condivisa .

Ho partizioni NTFS che devo montare RW quindi ho usato la seguente configurazione nel mio /etc/fstab:

/dev/sdb1  /media/disk1  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2
/dev/sdb2  /media/disk2  ntfs defaults,noexec,noatime,relatime,utf8,uid=1000,gid=1000 0       2

I pezzi più importanti di configurazione sono uide gid(forse solo uid, non lo so). Sono impostati sull'UID e sul GID dell'utente jonnieimpostato sul server (ovviamente non root). Quindi, quando ntfs-3g monterà questi dischi, tutto sarà di sua proprietà.

Successivamente, ho aggiunto questo utente al registro di Samba (o forse ne ho creato uno identico, non importa):

# smbpasswd -a jonnie

Ha richiesto la password, ho inserito lo stesso del sistema principale.

Successivamente, ho aggiunto le impostazioni force usere force groupa smb.conf:

[global]
  workgroup = WORKGROUP
  netbios name = HOMESERV
  security = share

[disk1]
  comment = Disk 1 on 400GB HDD
  path = /media/disk1
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

[disk2]
  comment = Disk 2 on 400GB HDD
  path = /media/disk2
  browsable = yes
  guest ok = yes
  read only = no
  create mask = 666
  directory mask = 777
  force user = jonnie
  force group = jonnie

Quindi, più importante pezzo di configurazione rilevanti per me era force user.

Per gentile concessione del Samba HOWTO


1
"ovviamente non root". In realtà non è così ovvio. Samba ha dozzine di modalità di fallimento. La maggior parte si traduce in messaggi di errore identici. Ecco perché hai trascorso così tanto tempo in inutili ricerche su Google. Non solo una singola ricerca solleverà una miscela di problemi, ma anche le risposte trovate soffriranno della stessa confusione. L'uso di root elimina il lato Linux della sicurezza, ma consente anche di diagnosticare il problema. Se funziona come root, hai un problema di sicurezza a livello di Linux, se Samba fallisce ancora, il problema è nell'idea di Samba degli utenti (sono diversi e avrebbero dovuto avere errori unici)
MSalters

2

La configurazione può essere più breve:

Crea jonnie utente unix

useradd jonnie -s /usr/sbin/nologin

Crea smbuser

smbpasswd -a jonnie

Crea la directory Linux da condividere

mkdir /mysmbshare

Cambia il proprietario della directory in jonnie

chown /mysmbshare jonnie

smb.conf

[global]
  workgroup = MyWorkGroup
  server string = Hello, use me
  security = share
  guest account = jonnie
  passdb backend = tdbsam

[the_public_share]
   path = /mysmbshare
   writable = yes
   printable = no
   public = yes

Tutti i file sono di proprietà di jonnie e tutti hanno accesso rw ai file.


Sì, "cambiare il proprietario della directory in jonnie" è probabilmente la parte più importante qui. Grazie per una soluzione molto più breve!
hijarian

1

Il modo rapido e sporco per avere una condivisione Samba aperta è avere:

# ----------------------- Standalone Server Options ------------------------
#
# Scurity can be set to user, share(deprecated) or server(deprecated)
#
# Backend to store user information in. New installations should
# use either tdbsam or ldapsam. smbpasswd is available for backwards
# compatibility. tdbsam requires no further configuration.

        security = share
        passdb backend = tdbsam

e avere le azioni definite come tali:

[export]
   comment = Data Export Directory
   path = /data/export
   read only = no
   public = yes
   browseable = yes
   writeable = yes
   create mask = 666
   directory mask = 777

Riavvia il demone.

Per i client Windows 7, a partire dal 2014, ho dovuto impostare i criteri di dominio: firmare digitalmente le comunicazioni da sempre a DISABILITATO.


Mio Dio, sto cambiando la politica del dominio per azioni apparentemente pubbliche ... (facepalm). Okay, grazie lo stesso, ma no, l'ho provato proprio ora e l'accesso smb://homeserv/disk1richiede ancora una password in Debian. Ho usato i browser di file Dolphin e Krusader. Forse è qualcosa in KDE però.
hijarian,

ehi che ha funzionato! : D public = yese 777permessi hanno fatto il trucco (Win 10 che ospita Ubuntu 18.04). Fortunatamente è sulla mia postazione di lavoro personale, quindi non devo preoccuparmene
Arthur Tarasov
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.