it-swarm.com.de

Wie man Samba dazu bringt, NICHT UM PASSWORT ZU FRAGEN

HINWEIS: Ich habe wahrscheinlich bis zu 50 verschiedene Seiten gelesen, auf denen beschrieben wird, wie die öffentliche Samba-Freigabe innerhalb von 2 JAHRE eingerichtet wird, und nichts hat jemals für mich funktioniert. Ich weiß nicht, wie viel RTFM ich muss dieses Zeug einstellen.

Ich muss/möchte eine vollständig geöffnete öffentliche Dateifreigabe auf meinem Heimserver für zwei Workstations einrichten.

Das Setup ist wie folgt:

Server :

  • Debian Wheezy
  • Sudo smbd --version gibt mir Version 3.6.6.
  • 2 lokale Partitionen, die ich freigeben möchte, die in NTFS formatiert sind, weil sie alt sind und vom Windows-Computer stammen. Ich kann sie nicht auf ext * FS) formatieren, da sie viele Daten enthalten, die ich (noch) nirgendwo anders verschieben kann.
  • maschine namens "Homeserv" wegen mangelnder Originalität.

Client :

  1. Debian Testing (Jessie)
  2. Windows 7 (2 verschiedene Computer). Tatsächlich ist mein Computer Debian/Windows Dualboot, und der Computer meiner Frau ist nur Windows.

Meine smb.conf nach der Destillation sieht wie folgt aus ( wörtlich , sonst ist nichts da):

[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

Auf beiden Client-Computern erhalte ich sowohl unter Debian als auch unter Windows das gleiche Ergebnis: Anmelde-/Kennwortdialog. KEINE KOMBINATION von security = user, map to guest = Bad user, security = share, guest ok = yes und solche halfen.

Windows 7 zeigt den Anmelde-/Kennwortdialog direkt nach dem Klicken auf den freigegebenen Computer in der Netzwerkumgebung an. smb://homeserv/ Dateipfad in Debian (in jedem Dateibrowser) zeigt mir zwei Ordner: disk1 und disk2, wie beabsichtigt, indem Sie versuchen, sie zu öffnen, rufen Sie den Login/Passwort-Dialog auf.

Also, was fehlt mir im Schema, um NICHT Login/Passwort eingeben zu müssen? Dies ist eine Usability-Frage. Ich werde keine benutzerbasierte Authentifizierung für File Junkyard erstellen.

20
hijarian

OK, ich habe selbst eine Antwort gefunden.

Da dies absolut nicht offensichtlich aus den Dokumenten und HOWTOs und was auch immer ist, fragt dieses Ding nach dem Passwort, weil es dem Besitzer von keinen Gastbenutzer zuordnen kann das freigegebene Verzeichnis .

Ich habe NTFS-Partitionen, die ich zum Mounten von RW benötige, daher habe ich das folgende Setup in meinem /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

Die wichtigsten Teile der Konfiguration sind uid und gid (vielleicht nur uid, weiß nicht). Sie werden auf die UID und GID des auf dem Server eingerichteten Benutzers jonnie gesetzt (offensichtlich nicht root). Wenn ntfs-3g diese Datenträger bereitstellt, gehört ihm alles.

Danach habe ich diesen Benutzer zur Samba-Registrierung hinzugefügt (oder vielleicht einen neuen identischen erstellt, egal):

# smbpasswd -a jonnie

Es wurde nach dem Passwort gefragt, ich habe das gleiche wie für das Hauptsystem eingegeben.

Danach habe ich das force user und force group Einstellungen zum 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

Also, am wichtigsten für mich relevantes Konfigurationsstück war force user.

Mit freundlicher Genehmigung des Samba HOWTO

15
hijarian

Die Konfiguration kann kürzer sein:

Erstellen Sie den Unix-Benutzer jonnie

useradd jonnie -s /usr/sbin/nologin

Erstellen Sie smbuser

smbpasswd -a jonnie

Erstellen Sie das Linux-Verzeichnis, das Sie freigeben möchten

mkdir /mysmbshare

Ändern Sie den Eigentümer des Verzeichnisses 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

Alle Dateien gehören jonnie und jeder hat rw-Zugriff auf die Dateien.

2
BdK

Der schnelle und schmutzige Weg, eine offene Samba-Freigabe zu haben, ist:

# ----------------------- 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

und Aktien als solche definiert haben:

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

Starten Sie den Daemon neu.

Für Windows 7-Clients musste ich ab 2014 die Domänenrichtlinie festlegen: Kommunikation von immer digital signieren auf DISABLE.

1
ewwhite