Kurz zusammengefasst

Kurz zusammengefasst

Kurz zusammengefasst

Ich möchte, dass ein Windows-Client mithilfe von FreeIPA-Anmeldeinformationen auf eine Samba-Freigabe zugreifen kann.

Problem

Dies ist ein Superuser und kein Serverfehler, da es sich nicht um eine Arbeitsumgebung handelt; dies ist mein Heimnetzwerk. Es gibt viele Anleitungen zur Verwendung von GNU/Linux Samba für die Interoperabilität mit Windows. Aber ich möchte kein domänenübergreifendes Vertrauen (meine Windows AD-Domäne wird irgendwann verschwinden).

Kann ich Samba so konfigurieren, dass es auf freeipa (ipasam? ldapsam?) verweist, sodass ich auf meinem Windows-Client (den ich für Spiele verwende) "[email geschützt]" um eine Verbindung zum \Linuxserver\Sharename herzustellen?

Ich weiß, wie man Samba so konfiguriert, dass eine vorhandene AD-Domäne für einen domänengebundenen GNU/Linux-Host verwendet wird, aber das mache ich hier nicht. Mein Host ist diesmal der Freeipa-Domänencontroller, aber ich könnte einen Freeipa-Client zu meinem Dateiserver machen. Ich habe NFS für die anderen Linux-Hosts, aber meine schnelle Suche nach „NFS Windows“ hat nichts ergeben, was besser/einfacher wäre als mein gewünschtes Ziel hier.

Möglichkeiten

  • Könnte ich ipasam- oder ldapsam-Backends verwenden?
  • Könnte ich Samba als „Windows-Domänencontroller“ verwenden und dafür sorgen, dass es der IPA-Domäne vertraut und die Benutzer zuordnet?

Update vom 7. September

ich fandhttps://techslaves.org/2011/08/24/freeipa-and-samba-3-integration/und bin den Schritten gefolgt, die zeigen, wie man das Schema von freeipa ändert, um Samba-Eigenschaften einzuschließen. Aber ich bekomme immer noch die Fehlermeldung: NT_STATUS_WRONG_PASSWORD.

Antwort1

Nach 8 Monaten habe ich das Problem endlich gelöst!

Samba-Freigabe mit FreeIPA-Authentifizierung

Die vollständigen Informationen finden Sie unterhttps://bgstack15.wordpress.com/2017/05/10/samba-share-with-freeipa-auth/.

Auf dem Freeipa-Controller:

yum -y install ipa-server-trust-ad
ipa-adtrust-install --add-sids

Nach dem Ausführen von --add-sids müssen Benutzer ihre Passwörter zurücksetzen, damit freeipa den ipaNTHash-Wert ihrer Passwörter generieren kann.

Auf dem Samba-Server:

yum -y install ipa-server-trust-ad

Öffnen Sie die erforderlichen Firewall-Ports (TCP 135,138,139,445,1024-1300; UDP 138,139,389,445).

Erlaube Samba, Passwörter zu lesen

ipa permission-add "CIFS server can read user passwords" \
   --attrs={ipaNTHash,ipaNTSecurityIdentifier} \
   --type=user --right={read,search,compare} --bindtype=permission
ipa privilege-add "CIFS server privilege"
ipa privilege-add-permission "CIFS server privilege" \
   --permission="CIFS server can read user passwords"
ipa role-add "CIFS server"
ipa role-add-privilege "CIFS server" --privilege="CIFS server privilege"
ipa role-add-member "CIFS server" --services=cifs/host2.vm.example.com

Bereiten Sie die Samba-Konfiguration vor und starten Sie Samba neu.

tf=/etc/samba/smb.conf
touch "${tf}"; chmod 0644 "${tf}"; chown root:root "${tf}"; restorecon "${tf}"
cat < "${tf}"
[global]
    debug pid = yes
    realm = VM.EXAMPLE.COM
    workgroup = VM
    domain master = Yes
    ldap group suffix = cn=groups,cn=accounts
    ldap machine suffix = cn=computers,cn=accounts
    ldap ssl = off
    ldap suffix = dc=vm,dc=example,dc=com
    ldap user suffix = cn=users,cn=accounts
    log file = /var/log/samba/log
    max log size = 100000
    domain logons = Yes
    registry shares = Yes
    disable spoolss = Yes
    dedicated keytab file = FILE:/etc/samba/samba.keytab
    kerberos method = dedicated keytab
    #passdb backend = ipasam:ldapi://%2fvar%2frun%2fslapd-VM-EXAMPLE-COM.socket
    #passdb backend = ldapsam:ldapi://%2fvar%2frun%2fslapd-VM-EXAMPLE-COM.socket
    passdb backend = ipasam:ldap://host2.vm.example.com ldap://host1.vm.example.com
    security = USER
    create krb5 conf = No
    rpc_daemon:lsasd = fork
    rpc_daemon:epmd = fork
    rpc_server:tcpip = yes
    rpc_server:netlogon = external
    rpc_server:samr = external
    rpc_server:lsasd = external
    rpc_server:lsass = external
    rpc_server:lsarpc = external
    rpc_server:epmapper = external
    ldapsam:trusted = yes
    idmap config * : backend = tdb

    ldap admin dn = cn=Directory Manager

[homes]
    comment = Home Directories
    valid users = %S, %D%w%S
    browseable = No
    read only = No
    inherit acls = Yes
EOFCONF
systemctl restart smb.service

verwandte Informationen