Jak udostępnić Sambę, aby NIE ZAPYTAĆ O HASŁO

20

UWAGA: Przeczytałem prawdopodobnie do 50 różnych stron opisujących, jak skonfigurować publiczny udział Samby w ciągu 2 LAT i nic dla mnie nigdy nie działało. Nie wiem, ile RTFM potrzebuję, aby to ustawić.

Potrzebuję / chcę skonfigurować całkowicie otwarty publiczny udział plików na moim serwerze domowym dla dwóch stacji roboczych.

Konfiguracja jest następująca:

Serwer :

  • Debian Wheezy
  • sudo smbd --versiondaje mi Version 3.6.6.
  • 2 partycje lokalne, które chcę udostępnić, sformatowane w systemie plików NTFS, ponieważ są stare i zostały pobrane z komputera z systemem Windows. Nie mogę sformatować ich do ext * FS, ponieważ mają dużo danych, których nie mogę (jeszcze) przenieść gdziekolwiek indziej.
  • maszyna o nazwie „homeserv” z powodu braku oryginalności.

Klient :

  1. Testowanie Debiana (Jessie)
  2. Windows 7 (2 różne maszyny). W rzeczywistości moją maszyną jest dualboot Debiana / Windows, a maszyną mojej żony jest tylko Windows.

Mój plik smb.conf po destylacji wygląda następująco ( dosłownie , nic więcej tam nie ma):

[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

Na obu komputerach klienckich, zarówno w Debianie, jak i systemie Windows, otrzymuję ten sam wynik: okno dialogowe logowania / hasła. Żadna kombinacja security = user, map to guest = Bad user, security = share, guest ok = yesi takie pomogło.

Windows 7 pokazuje okno dialogowe logowania / hasła zaraz po kliknięciu udostępnionego komputera w sąsiedztwie sieci. smb://homeserv/ścieżka pliku w Debianie (w dowolnej przeglądarce plików) pokazuje mi dwa foldery: disk1i disk2, zgodnie z zamierzeniami, próbując je otworzyć, otwórz okno dialogowe logowania / hasła.

Czego więc brakuje mi w schemacie, aby NIE MUSI wprowadzać loginu / hasła? To pytanie dotyczące użyteczności. Nie utworzę uwierzytelnienia opartego na użytkownikach dla złomowiska plików.

hijarian
źródło

Odpowiedzi:

14

OK, sam znalazłem odpowiedź.

Ponieważ nie jest to absolutnie oczywiste w dokumentach i dokumentach HOWTO itp., Powodem tego jest pytanie o hasło, ponieważ nie może mapować użytkownika-gościa na właściciela współdzielonego katalogu .

Mam partycje NTFS, które muszę zamontować RW, więc użyłem następującej konfiguracji /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

Najważniejsze elementy konfiguracji to ( uidi gidmoże tylko uidnie wiem). Są ustawione na UID i GID użytkownika jonnieskonfigurowanego na serwerze (oczywiście nie root). Tak więc, gdy ntfs-3g zamontuje te dyski, wszystko będzie jego własnością.

Następnie dodałem tego użytkownika do rejestru Samba (a może utworzyłem nowego identycznego, nieważne):

# smbpasswd -a jonnie

Poprosił o hasło, wpisałem to samo, co w systemie głównym.

Następnie dodałem ustawienia force useri force groupdo 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

Tak więc najważniejszy dla mnie kawałek konfiguracji był force user.

Dzięki uprzejmości Samby HOWTO

hijarian
źródło
1
„oczywiście nie root”. To nie jest tak oczywiste. Samba ma dziesiątki trybów awarii. Większość powoduje identyczne komunikaty o błędach. Właśnie dlatego spędziłeś tyle czasu na bezowocnych wyszukiwaniach w Google. Jedno wyszukiwanie nie tylko wywoła mieszankę problemów, ale także znalezione odpowiedzi będą cierpieć z powodu tego samego zamieszania. Użycie roota eliminuje stronę bezpieczeństwa Linuksa, ale pozwala także zdiagnozować problem. Jeśli działa jako root, masz problem z bezpieczeństwem na poziomie Linuksa. Jeśli Samba nadal zawiedzie, problem leży w przekonaniu Samby o użytkownikach (są różni i powinni mieć unikalne błędy)
MSalters
2

Konfiguracja może być krótsza:

Utwórz użytkownika unix jonnie

useradd jonnie -s /usr/sbin/nologin

Utwórz smbuser

smbpasswd -a jonnie

Utwórz katalog Linux, aby go udostępnić

mkdir /mysmbshare

Zmień właściciela katalogu na 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

Wszystkie pliki są własnością jonnie i każdy ma do nich dostęp rw.

BdK
źródło
Tak, „zmiana właściciela katalogu na jonnie” jest prawdopodobnie najważniejszą częścią tutaj. Dziękujemy za znacznie krótsze rozwiązanie!
hijarian
1

Szybki i brudny sposób posiadania otwartego udziału Samby to:

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

a udziały definiuje jako takie:

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

Uruchom ponownie demona.

W przypadku klientów Windows 7 od 2014 roku muszę ustawić zasady domeny: podpisuj cyfrowo komunikację z zawsze na WYŁĄCZ.

ewwhite
źródło
Mój Boże, zmieniam politykę domen dla rzekomo publicznych akcji ... (facepalm). OK, i tak dziękuję, ale nie, próbowałem tego właśnie teraz i dostęp smb://homeserv/disk1nadal wymaga hasła w Debianie. Korzystałem z przeglądarek plików Dolphin i Krusader. Może to jednak coś w KDE.
hijarian
hej, to zadziałało! : D public = yesi 777uprawnienia załatwiły sprawę (Win 10 hosting Ubuntu 18.04). Na szczęście jest na mojej osobistej stacji roboczej, więc nie muszę się o to martwić
Arthur Tarasov