Udostępnij za pośrednictwem


Włączanie uwierzytelniania usługi Active Directory za pośrednictwem protokołu SMB dla klientów z systemem Linux, którzy uzyskują dostęp do usługi Azure Files

Aby uzyskać więcej informacji na temat obsługiwanych opcji i zagadnień, zobacz Omówienie opcji uwierzytelniania opartego na tożsamościach usługi Azure Files na potrzeby dostępu do protokołu SMB.

Usługa Azure Files obsługuje uwierzytelnianie oparte na tożsamościach za pośrednictwem protokołu SMB (Server Message Block) dla maszyn wirtualnych z systemem Linux przy użyciu protokołu uwierzytelniania Kerberos przy użyciu następujących metod:

  • Lokalne usługi windows domena usługi Active Directory (AD DS)
  • Usługi domenowe Microsoft Entra

Aby można było używać usług AD DS, należy zsynchronizować usługi AD DS z identyfikatorem Entra firmy Microsoft przy użyciu programu Microsoft Entra Connect.

Uwaga

W tym artykule użyto systemu Ubuntu do wykonania przykładowych kroków. Podobne konfiguracje będą działać dla maszyn RHEL i SLES, co umożliwia instalowanie udziałów plików platformy Azure przy użyciu usługi Active Directory.

Dotyczy

Typ udziału plików SMB NFS
Udziały plików w warstwie Standardowa (GPv2), LRS/ZRS Tak, ten artykuł dotyczy standardowych udziałów plików SMB platformy Azure LRS/ZRS. Nie, ten artykuł nie dotyczy udziałów plików platformy Azure NFS.
Udziały plików w warstwie Standardowa (GPv2), GRS/GZRS Tak, ten artykuł dotyczy standardowych udziałów plików SMB platformy Azure GRS/GZRS. Nie dotyczy to żadnych udziałów plików platformy Azure w systemie plików NFS.
Udziały plików w warstwie Premium (FileStorage), LRS/ZRS Tak, ten artykuł dotyczy udziałów plików platformy Azure SMB w warstwie Premium. Nie, ten artykuł nie ma zastosowania do udziałów plików platformy Azure w warstwie Premium NFS.

Ograniczenia klienta SMB systemu Linux

Nie można użyć uwierzytelniania opartego na tożsamościach, aby zainstalować udziały plików platformy Azure na klientach z systemem Linux podczas rozruchu przy użyciu wpisów, fstab ponieważ klient nie może uzyskać biletu Protokołu Kerberos wystarczająco wcześnie, aby zainstalować go w czasie rozruchu. Można jednak użyć fstab wpisu i określić noauto opcję. Nie spowoduje to zainstalowania udziału podczas rozruchu, ale umożliwi użytkownikowi wygodne instalowanie udziału plików po zalogowaniu się przy użyciu prostego polecenia instalacji bez wszystkich parametrów. Możesz również użyć autofs polecenia , aby zainstalować udział podczas uzyskiwania dostępu.

Wymagania wstępne

Przed włączeniem uwierzytelniania usługi AD za pośrednictwem protokołu SMB dla udziałów plików platformy Azure upewnij się, że zostały spełnione następujące wymagania wstępne.

  • Maszyna wirtualna z systemem Linux z systemem Ubuntu 18.04 lub równoważną maszyną wirtualną RHEL lub SLES. Jeśli działa na platformie Azure, maszyna wirtualna musi mieć co najmniej jeden interfejs sieciowy w sieci wirtualnej zawierającej usługi Microsoft Entra Domain Services. W przypadku korzystania z lokalnej maszyny wirtualnej usługi AD DS należy zsynchronizować z identyfikatorem Entra firmy Microsoft.
  • Poświadczenia użytkownika głównego lub użytkownika na koncie użytkownika lokalnego, które ma pełne uprawnienia sudo (w tym przewodniku, localadmin).
  • Maszyna wirtualna z systemem Linux nie może dołączyć żadnej domeny usługi AD. Jeśli jest ona już częścią domeny, musi najpierw pozostawić tę domenę, zanim będzie mogła dołączyć do tej domeny.
  • W pełni skonfigurowana dzierżawa firmy Microsoft Entra z już skonfigurowanym użytkownikiem domeny.

Instalowanie pakietu samba nie jest ściśle konieczne, ale zapewnia kilka przydatnych narzędzi i automatycznie wprowadza inne pakiety, takie jak samba-common i smbclient. Uruchom następujące polecenia, aby go zainstalować. Jeśli podczas instalacji zostanie wyświetlony monit o podanie wartości wejściowych, pozostaw je puste.

sudo apt update -y
sudo apt install samba winbind libpam-winbind libnss-winbind krb5-config krb5-user keyutils cifs-utils

Narzędzie wbinfo jest częścią pakietu samba. Może to być przydatne w celach uwierzytelniania i debugowania, takich jak sprawdzanie, czy kontroler domeny jest osiągalny, sprawdzanie domeny, do której jest przyłączona maszyna, i znajdowanie informacji o użytkownikach.

Upewnij się, że host systemu Linux zachowuje czas synchronizowany z serwerem domeny. Zapoznaj się z dokumentacją dystrybucji systemu Linux. W przypadku niektórych dystrybucji można to zrobić przy użyciu funkcji systemd-timesyncd. Edytuj /etc/systemd/timesyncd.conf za pomocą ulubionego edytora tekstów, aby uwzględnić następujące elementy:

[Time]
NTP=onpremaadint.com
FallbackNTP=ntp.ubuntu.com

Następnie uruchom ponownie usługę:

sudo systemctl restart systemd-timesyncd.service

Włączanie uwierzytelniania Kerberos w usłudze AD

Wykonaj następujące kroki, aby włączyć uwierzytelnianie Kerberos w usłudze AD. Ta dokumentacja Samba może być przydatna jako odwołanie.

Upewnij się, że serwer domeny jest osiągalny i można go odnaleźć

  1. Upewnij się, że podane serwery DNS zawierają adresy IP serwera domeny.
systemd-resolve --status
Global 
          DNSSEC NTA: 10.in-addr.arpa
                      16.172.in-addr.arpa
                      168.192.in-addr.arpa
                      17.172.in-addr.arpa
                      18.172.in-addr.arpa
                      19.172.in-addr.arpa
                      20.172.in-addr.arpa
                      21.172.in-addr.arpa
                      22.172.in-addr.arpa
                      23.172.in-addr.arpa
                      24.172.in-addr.arpa
                      25.172.in-addr.arpa
                      26.172.in-addr.arpa
                      27.172.in-addr.arpa
                      28.172.in-addr.arpa
                      29.172.in-addr.arpa
                      30.172.in-addr.arpa
                      31.172.in-addr.arpa
                      corp
                      d.f.ip6.arpa
                      home
                      internal
                      intranet
                      lan
                      local
                      private
                      test 

Link 2 (eth0) 
      Current Scopes: DNS 
       LLMNR setting: yes 
MulticastDNS setting: no 
      DNSSEC setting: no 
    DNSSEC supported: no 
         DNS Servers: 10.0.2.5 
                      10.0.2.4 
                      10.0.0.41
          DNS Domain: domain1.contoso.com 
  1. Jeśli polecenie zadziałało, pomiń poniższe kroki i przejdź do następnej sekcji.

  2. Jeśli to nie zadziała, upewnij się, że adresy IP serwera domeny wysyłają polecenie ping.

ping 10.0.2.5
PING 10.0.2.5 (10.0.2.5) 56(84) bytes of data.
64 bytes from 10.0.2.5: icmp_seq=1 ttl=128 time=0.898 ms
64 bytes from 10.0.2.5: icmp_seq=2 ttl=128 time=0.946 ms

^C 

--- 10.0.2.5 ping statistics --- 
2 packets transmitted, 2 received, 0% packet loss, time 1002ms
rtt min/avg/max/mdev = 0.898/0.922/0.946/0.024 ms
  1. Jeśli polecenie ping nie działa, wróć do wymagań wstępnych i upewnij się, że maszyna wirtualna znajduje się w sieci wirtualnej, która ma dostęp do dzierżawy firmy Microsoft Entra.

  2. Jeśli adresy IP wysyłają polecenia ping, ale serwery DNS nie są automatycznie odnajdywane, możesz dodać serwery DNS ręcznie. Edytuj /etc/netplan/50-cloud-init.yaml za pomocą ulubionego edytora tekstów.

# This file is generated from information provided by the datasource.  Changes
# to it will not persist across an instance reboot.  To disable cloud-init's
# network configuration capabilities, write a file
# /etc/cloud/cloud.cfg.d/99-disable-network-config.cfg with the following:
# network: {config: disabled}
network:
    ethernets:
        eth0:
            dhcp4: true
            dhcp4-overrides:
                route-metric: 100
            dhcp6: false
            match:
                macaddress: 00:22:48:03:6b:c5
            set-name: eth0
            nameservers:
                addresses: [10.0.2.5, 10.0.2.4]
    version: 2

Następnie zastosuj zmiany:

sudo netplan --debug apply 
  1. Winbind zakłada, że serwer DHCP przechowuje aktualne rekordy DNS domeny. Nie dotyczy to jednak protokołu DHCP platformy Azure. Aby skonfigurować klienta w celu tworzenia aktualizacji DDNS, użyj tego przewodnika , aby utworzyć skrypt sieciowy. Oto przykładowy skrypt, który znajduje się w lokalizacji /etc/dhcp/dhclient-exit-hooks.d/ddns-update.
#!/bin/sh 

# only execute on the primary nic
if [ "$interface" != "eth0" ]
then
    return
fi 

# When you have a new IP, perform nsupdate
if [ "$reason" = BOUND ] || [ "$reason" = RENEW ] ||
   [ "$reason" = REBIND ] || [ "$reason" = REBOOT ]
then
   host=`hostname -f`
   nsupdatecmds=/var/tmp/nsupdatecmds
     echo "update delete $host a" > $nsupdatecmds
     echo "update add $host 3600 a $new_ip_address" >> $nsupdatecmds
     echo "send" >> $nsupdatecmds

     nsupdate $nsupdatecmds
fi 

Połącz się z usługami Microsoft Entra Domain Services i upewnij się, że usługi są wykrywalne

  1. Upewnij się, że możesz wysłać polecenie ping do serwera domeny przy użyciu nazwy domeny.
ping contosodomain.contoso.com
PING contosodomain.contoso.com (10.0.2.4) 56(84) bytes of data.
64 bytes from pwe-oqarc11l568.internal.cloudapp.net (10.0.2.4): icmp_seq=1 ttl=128 time=1.41 ms
64 bytes from pwe-oqarc11l568.internal.cloudapp.net (10.0.2.4): icmp_seq=2 ttl=128 time=1.02 ms
64 bytes from pwe-oqarc11l568.internal.cloudapp.net (10.0.2.4): icmp_seq=3 ttl=128 time=0.740 ms
64 bytes from pwe-oqarc11l568.internal.cloudapp.net (10.0.2.4): icmp_seq=4 ttl=128 time=0.925 ms 

^C 

--- contosodomain.contoso.com ping statistics ---
4 packets transmitted, 4 received, 0% packet loss, time 3016ms
rtt min/avg/max/mdev = 0.740/1.026/1.419/0.248 ms 
  1. Upewnij się, że możesz odnaleźć usługi Firmy Microsoft Entra w sieci.
nslookup
> set type=SRV
> _ldap._tcp.contosodomain.contoso.com.
Server:         127.0.0.53
Address:        127.0.0.53#53

Non-authoritative answer: 

_ldap._tcp.contosodomain.contoso.com service = 0 100 389 pwe-oqarc11l568.contosodomain.contoso.com.
_ldap._tcp.contosodomain.contoso.com service = 0 100 389 hxt4yo--jb9q529.contosodomain.contoso.com. 

Konfigurowanie nazwy hosta i w pełni kwalifikowanej nazwy domeny (FQDN)

  1. Za pomocą edytora tekstów zaktualizuj /etc/hosts plik przy użyciu ostatniej nazwy FQDN (po dołączeniu do domeny) i aliasu hosta. Adres IP nie ma teraz znaczenia, ponieważ ten wiersz będzie używany głównie do tłumaczenia krótkiej nazwy hosta na nazwę FQDN. Aby uzyskać więcej informacji, zobacz Konfigurowanie Samba jako członka domeny.
127.0.0.1       contosovm.contosodomain.contoso.com contosovm
#cmd=sudo vim /etc/hosts   
#then enter this value instead of localhost "ubuntvm.contosodomain.contoso.com UbuntuVM" 
  1. Teraz nazwa hosta powinna zostać rozpoznana. Możesz zignorować adres IP, który jest rozpoznawany na razie. Krótka nazwa hosta powinna zostać rozpoznana jako nazwa FQDN.
getent hosts contosovm
127.0.0.1       contosovm.contosodomain.contoso.com contosovm
dnsdomainname
contosodomain.contoso.com
hostname -f
contosovm.contosodomain.contoso.com 

Uwaga

Niektóre dystrybucje wymagają uruchomienia hostnamectl polecenia w celu zaktualizowania nazwy hosta -f:

hostnamectl set-hostname contosovm.contosodomain.contoso.com

Konfigurowanie narzędzia krb5.conf

  1. Skonfiguruj /etc/krb5.conf tak, aby centrum dystrybucji kluczy Kerberos (KDC) z serwerem domeny można było skontaktować się w celu uwierzytelnienia. Aby uzyskać więcej informacji, zobacz dokumentację protokołu KERberos mit. Oto przykładowy /etc/krb5.conf plik.
[libdefaults]
        default_realm = CONTOSODOMAIN.CONTOSO.COM
        dns_lookup_realm = false
        dns_lookup_kdc = true

Konfigurowanie pliku smb.conf

  1. Zidentyfikuj ścieżkę do smb.conf.
sudo smbd -b | grep "CONFIGFILE"
   CONFIGFILE: /etc/samba/smb.conf
  1. Zmień konfigurację protokołu SMB, aby działała jako element członkowski domeny. Aby uzyskać więcej informacji, zobacz Konfigurowanie samba jako członka domeny. Oto przykładowy smb.conf plik.

Uwaga

Ten przykład dotyczy usług Microsoft Entra Domain Services, dla których zalecamy ustawienie backend = rid podczas konfigurowania mapy id. Lokalni użytkownicy usług AD DS mogą preferować wybór innego zaplecza mapy idmap.

[global]
   workgroup = CONTOSODOMAIN
   security = ADS
   realm = CONTOSODOMAIN.CONTOSO.COM

   winbind refresh tickets = Yes
   vfs objects = acl_xattr
   map acl inherit = Yes
   store dos attributes = Yes

   dedicated keytab file = /etc/krb5.keytab
   kerberos method = secrets and keytab

   winbind use default domain = Yes 

   load printers = No
   printing = bsd
   printcap name = /dev/null
   disable spoolss = Yes

   log file = /var/log/samba/log.%m
   log level = 1

   idmap config * : backend = tdb
   idmap config * : range = 3000-7999

   idmap config CONTOSODOMAIN : backend = rid
   idmap config CONTOSODOMAIN : range = 10000-999999

   template shell = /bin/bash
   template homedir = /home/%U 
  1. Wymuś winbind, aby ponownie załadować zmieniony plik konfiguracji.
sudo smbcontrol all reload-config

Przyłączenie się do domeny

  1. net ads join Użyj polecenia , aby dołączyć hosta do domeny usług Microsoft Entra Domain Services. Jeśli polecenie zgłasza błąd, zobacz Rozwiązywanie problemów z członkami domeny samba, aby rozwiązać ten problem.
sudo net ads join -U contososmbadmin    # user  - garead

Enter contososmbadmin's password:
Using short domain name -- CONTOSODOMAIN
Joined 'CONTOSOVM' to dns domain 'contosodomain.contoso.com' 
  1. Upewnij się, że rekord DNS istnieje dla tego hosta na serwerze domeny.
nslookup contosovm.contosodomain.contoso.com 10.0.2.5
Server:         10.0.2.5
Address:        10.0.2.5#53

Name:   contosovm.contosodomain.contoso.com
Address: 10.0.0.8

Jeśli użytkownicy będą aktywnie logować się do maszyn klienckich lub maszyn wirtualnych i uzyskiwać dostęp do udziałów plików platformy Azure, należy skonfigurować serwer nsswitch.conf i skonfigurować usługę PAM na potrzeby winbind. Jeśli dostęp będzie ograniczony do aplikacji reprezentowanych przez konto użytkownika lub konto komputera, które wymaga uwierzytelniania Kerberos w celu uzyskania dostępu do udziału plików, możesz pominąć te kroki.

Konfigurowanie serwera nsswitch.conf

  1. Teraz, gdy host jest przyłączony do domeny, należy umieścić biblioteki winbind w miejscach do wyszukiwania w poszukiwaniu użytkowników i grup. Zrób to, aktualizując wpisy przekazywane i grupowe w pliku nsswitch.conf. Użyj edytora tekstów, aby edytować /etc/nsswitch.conf i dodać następujące wpisy:
passwd:         compat systemd winbind
group:          compat systemd winbind
  1. Włącz usługę winbind, aby automatycznie uruchamiać się po ponownym uruchomieniu.
sudo systemctl enable winbind
Synchronizing state of winbind.service with SysV service script with /lib/systemd/systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable winbind
  1. Następnie uruchom ponownie usługę.
sudo systemctl restart winbind
sudo systemctl status winbind
winbind.service - Samba Winbind Daemon
   Loaded: loaded (/lib/systemd/system/winbind.service; enabled; vendor preset: enabled)
   Active: active (running) since Fri 2020-04-24 09:34:31 UTC; 10s ago
     Docs: man:winbindd(8)
           man:samba(7)
           man:smb.conf(5)
 Main PID: 27349 (winbindd)
   Status: "winbindd: ready to serve connections..."
    Tasks: 2 (limit: 4915)
   CGroup: /system.slice/winbind.service
           ├─27349 /usr/sbin/winbindd --foreground --no-process-group
           └─27351 /usr/sbin/winbindd --foreground --no-process-group

Apr 24 09:34:31 contosovm systemd[1]: Starting Samba Winbind Daemon...
Apr 24 09:34:31 contosovm winbindd[27349]: [2020/04/24 09:34:31.724211,  0] ../source3/winbindd/winbindd_cache.c:3170(initialize_winbindd_cache)
Apr 24 09:34:31 contosovm winbindd[27349]:   initialize_winbindd_cache: clearing cache and re-creating with version number 2
Apr 24 09:34:31 contosovm winbindd[27349]: [2020/04/24 09:34:31.725486,  0] ../lib/util/become_daemon.c:124(daemon_ready)
Apr 24 09:34:31 contosovm systemd[1]: Started Samba Winbind Daemon.
Apr 24 09:34:31 contosovm winbindd[27349]:   STATUS=daemon 'winbindd' finished starting up and ready to serve connections 
  1. Upewnij się, że użytkownicy i grupy domeny zostały odnalezione.
getent passwd contososmbadmin
contososmbadmin:*:12604:10513::/home/contososmbadmin:/bin/bash
getent group 'domain users'
domain users:x:10513: 

Jeśli powyższe dane nie działają, sprawdź, czy kontroler domeny jest osiągalny przy użyciu narzędzia wbinfo:

wbinfo --ping-dc

Konfigurowanie usługi PAM pod kątem winbind

  1. Należy umieścić powiązanie winbind w stosie uwierzytelniania, aby użytkownicy domeny są uwierzytelniani za pośrednictwem winbind, konfigurując moduł PAM (Pluggable Authentication Module) na potrzeby winbind. Drugie polecenie gwarantuje, że homedir zostanie utworzony dla użytkownika domeny po pierwszym zalogowaniu się do tego systemu.
sudo pam-auth-update --enable winbind
sudo pam-auth-update --enable mkhomedir 
  1. Upewnij się, że konfiguracja uwierzytelniania usługi PAM ma następujące argumenty w pliku /etc/pam.d/common-auth:
grep pam_winbind.so /etc/pam.d/common-auth
auth    [success=1 default=ignore]      pam_winbind.so krb5_auth krb5_ccache_type=FILE cached_login try_first_pass 
  1. Teraz powinno być możliwe zalogowanie się do tego systemu jako użytkownik domeny za pośrednictwem protokołu ssh, su lub dowolnego innego środka uwierzytelniania.
su - contososmbadmin
Password:
Creating directory '/home/contososmbadmin'.
contososmbadmin@contosovm:~$ pwd
/home/contososmbadmin
contososmbadmin@contosovm:~$ id
uid=12604(contososmbadmin) gid=10513(domain users) groups=10513(domain users),10520(group policy creator owners),10572(denied rodc password replication group),11102(dnsadmins),11104(aad dc administrators),11164(group-readwrite),11165(fileshareallaccess),12604(contososmbadmin) 

Weryfikowanie konfiguracji

Aby sprawdzić, czy maszyna kliencka jest przyłączona do domeny, wyszukaj nazwę FQDN klienta na kontrolerze domeny i znajdź wpis DNS wymieniony dla tego konkretnego klienta. W wielu przypadkach <dnsserver> jest taka sama jak nazwa domeny, do którego jest przyłączony klient.

nslookup <clientname> <dnsserver>

Następnie użyj klist polecenia , aby wyświetlić bilety w pamięci podręcznej Protokołu Kerberos. Powinien istnieć wpis rozpoczynający się od krbtgt tego, który wygląda podobnie do następującego:

krbtgt/CONTOSODOMAIN.CONTOSO.COM@CONTOSODOMAIN.CONTOSO.COM

Jeśli nie skonfigurowano usługi PAM na potrzeby winbind, klist może nie zostać wyświetlony wpis biletu. W takim przypadku możesz ręcznie uwierzytelnić użytkownika, aby uzyskać bilety:

wbinfo -K contososmbadmin

Możesz również uruchomić polecenie w ramach skryptu:

wbinfo -K 'contososmbadmin%SUPERSECRETPASSWORD'

Instalowanie udziału plików

Po włączeniu uwierzytelniania protokołu Kerberos w usłudze AD (lub Microsoft Entra ID) i przyłączeniu do domeny maszyny wirtualnej z systemem Linux możesz zainstalować udział plików.

Aby uzyskać szczegółowe instrukcje dotyczące instalowania, zobacz Instalowanie udziału plików platformy Azure na żądanie przy użyciu instalacji.

Użyj następującej dodatkowej opcji instalacji ze wszystkimi modelami kontroli dostępu, aby włączyć zabezpieczenia protokołu Kerberos: sec=krb5. Nazwa użytkownika i hasło muszą zostać pominięte, gdy jest używana wartość sec=krb5.

Uwaga

Ta funkcja obsługuje tylko model kontroli dostępu wymuszany przez serwer przy użyciu list ACL NT bez bitów trybu. Narzędzia systemu Linux aktualizujące listy ACL NT są minimalne, dlatego aktualizuj listy ACL za pośrednictwem systemu Windows. Modele kontroli dostępu wymuszanej przez klienta (modefromsid,idsfromsid) i kontroli dostępu przetłumaczonej przez klienta (cifsacl) nie są obecnie obsługiwane.

Inne opcje instalacji

Instalacja pojedynczego użytkownika i wielu użytkowników

W przypadku użycia instalacji pojedynczego użytkownika punkt instalacji jest uzyskiwany przez jednego użytkownika domeny usługi AD i nie jest udostępniany innym użytkownikom domeny. Każdy dostęp do plików odbywa się w kontekście użytkownika, którego poświadczenia krb5 zostały użyte do zainstalowania udziału plików. Każdy użytkownik systemu lokalnego, który uzyskuje dostęp do punktu instalacji, personifikuje tego użytkownika.

W przypadku użycia instalacji wielu użytkowników nadal istnieje pojedynczy punkt instalacji, ale wielu użytkowników usługi AD może uzyskać dostęp do tego samego punktu instalacji. W scenariuszach, w których wielu użytkowników na tym samym kliencie będzie uzyskiwać dostęp do tego samego udziału, a system jest skonfigurowany dla protokołu Kerberos i zainstalowany w sec=krb5programie , rozważ użycie multiuser opcji instalacji.

Uprawnienia do plików

Uprawnienia do plików mają znaczenie, zwłaszcza jeśli zarówno klienci z systemami Linux, jak i Windows będą uzyskiwać dostęp do udziału plików. Aby przekonwertować uprawnienia pliku na listy DACLs w plikach, użyj domyślnej opcji instalacji, takiej jak file_mode=<>,dir_mode=<>. Uprawnienia do plików określone jako file_mode i dir_mode są wymuszane tylko w obrębie klienta. Serwer wymusza kontrolę dostępu na podstawie deskryptora zabezpieczeń pliku lub katalogu.

Własność plików

Własność plików ma znaczenie, zwłaszcza jeśli zarówno klienci z systemami Linux, jak i Windows będą uzyskiwać dostęp do udziału plików. Wybierz jedną z następujących opcji instalacji, aby przekonwertować identyfikator UID/GID własności pliku na identyfikator SID właściciela/grupy w pliku DACL:

  • Użyj wartości domyślnej, takiej jak uid=<>,gid=<>
  • Konfigurowanie mapowania identyfikatora UID/GID za pomocą RFC2307 i usługi Active Directory (nss_winbind lub nss_sssd)

Współistnienie pamięci podręcznej atrybutów plików

Wydajność jest ważna, nawet jeśli atrybuty pliku nie zawsze są dokładne. Wartość domyślna actimeo to 1 (sekunda), co oznacza, że atrybuty pliku są pobierane ponownie z serwera, jeśli buforowane atrybuty mają więcej niż 1 sekundę. Zwiększenie wartości do 60 oznacza, że atrybuty są buforowane przez co najmniej 1 minutę. W większości przypadków użycia zalecamy użycie wartości 30 dla tej opcji (actimeo=30).

W przypadku nowszych jąder rozważ ustawienie funkcji actimeo bardziej szczegółowe. Można użyć acdirmax dla buforowania wpisów katalogu i acregmax dla metadanych pliku buforowania, na przykład acdirmax=60,acregmax=5.

Następny krok

Aby uzyskać więcej informacji na temat sposobu instalowania udziału plików SMB w systemie Linux, zobacz: