În prezent, am un NAS pentru gospodăria noastră (numit Waitress) care rulează Debian 11 cu Samba folosind SMB 3.1.1. Este conectat la un HDD USB-SS de 1TB. De asemenea, am o mașină Ubuntu care este propriul meu laptop (numit Rox). Scopul este să folosesc Waitress pentru a stoca toate fișierele din directorul meu de acasă. Fac asta creând un share Samba pe Waitress cu fișierele stocate pe HDD-ul extern (formatat cu ext4). Apoi pe Rox montez cota la /home/<numele meu de utilizator>
. Am un cont pe Waitress cu același nume de utilizator și parolă ca și contul meu de pe Rox.
Funcția de sincronizare a parolei Unix a Samba funcționează bine și pot accesa cu ușurință fișierele conectându-mă la contul meu pe Waitress prin SMB. Problema constă în caracteristica de sincronizare a permisiunii Unix. Nu înțeleg de ce configurația mea Samba și configurația fstab nu fac sincronizarea corectă cu permisiunea și cer ajutor în acest aspect.
Ale mele /etc/samba/smb.conf
pe Chelnerița:
[global]
## Navigare/Identificare ###
# Schimbați-l în numele grupului de lucru/domeniului NT din care va face parte serverul dvs. Samba
grup de lucru = mclean.net
#### Rețele ####
# Setul specific de interfețe/rețele la care să se lege
# Acesta poate fi fie numele interfeței, fie o adresă IP/mască de rețea;
# nume de interfață sunt în mod normal preferate
; interfețe = 127.0.0.0/8 eth0
# Leagă numai la interfețele și/sau rețelele numite; trebuie să utilizați
# opțiunea „interfețe” de mai sus pentru a utiliza aceasta.
# Este recomandat să activați această funcție dacă aparatul dvs. Samba este
# nu este protejat de un firewall sau este un firewall în sine. Cu toate acestea, aceasta
# opțiunea nu poate gestiona corect interfețele dinamice sau nedifuzate.
; bind interfețe numai = da
#### Depanare/Contabilitate ####
# Acest lucru îi spune lui Samba să folosească un fișier jurnal separat pentru fiecare mașină
# care conectează
fișier jurnal = /var/log/samba/log.%m
# Limitați dimensiunea fișierelor jurnal individuale (în KiB).
dimensiune maximă a jurnalului = 1000
# Dorim ca Samba să se conecteze numai la /var/log/samba/log.{smbd,nmbd}.
# Adăugați syslog@1 dacă doriți ca mesajele importante să fie trimise și către syslog.
logging = fișier
# Faceți ceva sensibil când Samba se blochează: trimiteți administratorului o urmărire înapoi
acțiune de panică = /usr/share/samba/panic-action %d
####### Autentificare #######
# Rol de server. Definește în ce mod va funcționa Samba. Posibil
# valorile sunt „server independent”, „server membru”, „primar clasic
# controler de domeniu”, „controler de domeniu clasic de rezervă”, „activ
# director controler de domeniu".
#
# Majoritatea oamenilor vor dori „server independent” sau „server membru”.
# Rularea ca „controler de domeniu Active Directory” va necesita mai întâi
# rulează „samba-tool domain provision” pentru a șterge bazele de date și a crea un
# domeniu nou.
rol server = server independent
respectă restricțiile pam = da
# Acest parametru boolean controlează dacă Samba încearcă să sincronizeze Unix
# parolă cu parola SMB atunci când parola SMB criptată în
# passdb este schimbat.
Sincronizarea parolei unix = da
# Pentru ca sincronizarea parolei Unix să funcționeze pe un sistem Debian GNU/Linux, următoarele
# parametri trebuie setati (multumesc lui Ian Kahan <<[email protected]> pentru
# trimiterea scriptului de chat corect pentru programul passwd în Debian Sarge).
program passwd = /usr/bin/passwd %u
password chat = *Introduceți\snew\s*\parola:* %n\n *Reintroduceți\snew\s*\parola:* %n\n *parola\actualizată\succes* .
# Acest boolean controlează dacă PAM va fi folosit pentru modificările parolei
# atunci când este solicitat de un client SMB în loc de programul listat în
# 'program de acces'. Valoarea implicită este „nu”.
schimbarea parolei pam = da
# Această opțiune controlează modul în care sunt mapate încercările de autentificare nereușite
# la conexiuni anonime
map to guest = utilizator prost
########## Domenii ###########
#
# Următoarele setări au efect numai dacă „rol server = clasic
# controler de domeniu primar', 'rol server = controler de domeniu de rezervă clasic'
# sau „conectări la domeniu” este setat
#
# Specifică locația utilizatorului
# director de profil din punct de vedere al clientului) Următoarele
# a necesitat o partajare [profile] pentru a fi configurată pe serverul samba (vezi
# de mai jos)
; cale de conectare = \%N\profiles\%U
# O altă alegere comună este stocarea profilului în directorul principal al utilizatorului
# (acesta este valoarea implicită pentru Samba)
# cale de conectare = \%N\%U\profil
# Următoarea setare are efect numai dacă este setată „conectări la domeniu”.
# Specifică locația directorului principal al unui utilizator (de la client
# punct de vedere)
; unitate de conectare = H:
# logon home = \%N\%U
# Următoarea setare are efect numai dacă este setată „conectări la domeniu”.
# Specifică scriptul de rulat în timpul conectării. Scriptul trebuie să fie stocat
# în partajarea [netlogon].
# NOTĂ: Trebuie să fie stocat în convenția de format de fișier „DOS”.
; script de conectare = logon.cmd
# Acest lucru permite utilizatorilor Unix să fie creați pe controlerul de domeniu prin SAMR
# conductă RPC. Exemplul de comandă creează un cont de utilizator cu un Unix dezactivat
# parola; te rog sa te adaptezi nevoilor tale
; adăugați script utilizator = /usr/sbin/adduser --quiet --disabled-password --gecos "" %u
# Acest lucru permite crearea conturilor de mașină pe controlerul de domeniu prin intermediul
# conductă SAMR RPC.
# Următoarele presupune că există un grup de „mașini” pe sistem
; adăugați script de mașină = /usr/sbin/useradd -g mașini -c „%u cont de mașină” -d /var/lib/samba -s /bin/false %u
# Acest lucru permite crearea de grupuri Unix pe controlerul de domeniu prin SAMR
# conductă RPC.
; add group script = /usr/sbin/addgroup --force-badname %g
############ Diverse ############
# Utilizarea următoarei linii vă permite să vă personalizați configurația
# pe bază de mașină. %m este înlocuit cu numele netbios
# de mașină care se conectează
; include = /home/samba/etc/smb.conf.%m
# Unele valori implicite pentru winbind (asigurați-vă că nu utilizați intervalele
# pentru altceva.)
; idmap config *: backend = tdb
; idmap config *: interval = 3000-7999
; idmap config YOURDOMAINHERE: backend = tdb
; idmap config YOURDOMAINHERE: interval = 100000-999999
; shell de șablon = /bin/bash
# Configurați opțiunile de partajare a utilizatorilor pentru a permite utilizatorilor non-root să partajeze foldere
# cu comanda net usersshare.
# Numărul maxim de utilizatori partajați. 0 înseamnă că partajarea utilizatorilor este dezactivată.
# usershare max shares = 100
# Permiteți utilizatorilor cărora li s-au acordat privilegii de partajare a utilizatorilor să creeze
# acțiuni publice, nu doar cele autentificate
Usershare permite oaspeților = da
#======================= Partajați definiții =======================
[BackupServer]
extensii unix = da
comentariu = Server de rezervă
cale = /home/<numele meu de utilizator>/harddrive/homefolder
browseable = da
numai citire = nu
inscriptibil = da
Ale mele /etc/fstab
config pe Rox:
//<nume gazdă chelneriță>/BackupServer /home/<numele meu de utilizator> smb3 user=<numele meu de utilizator>,unix,vers=3.1.1 0 0
Toate fișierele din directorul principal de pe Waitress sunt deținute de utilizatorul meu și au permisiuni de citire și scriere pentru utilizatorul meu și grupul meu. Acest lucru ar trebui să le permită să fie accesibile de la Rox. Cu toate acestea, pe Rox, permisiunile arată utilizatorul și grupul proprietar ca root și permisiunile rwxr-xr-x. De asemenea, linkurile simbolice nu funcționează.M-aș aștepta ca linkurile simbolice să funcționeze, fișierele să fie deținute de mine și permisiunile rwxrwxr-x.