AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / server / Perguntas / 832217
Accepted
Sethos II
Sethos II
Asked: 2017-02-14 01:41:11 +0800 CST2017-02-14 01:41:11 +0800 CST 2017-02-14 01:41:11 +0800 CST

Mapeamento de ID com SSSD e SMB

  • 772

Estou tentando obter um compartilhamento de samba funcionando com IDs corretos em clientes Windows (SID) e Linux (uid/gid). O problema é que os uids e gids não são mapeados corretamente de volta para SIDs e os SIDs não são resolvidos para nomes. O que poderia levar a esse problema e como ele pode ser corrigido?

O que funciona

  • mapeamento de atributos UNIX do Active Directory para uid/gid no Linux
  • acesso ao compartilhamento
    • Windows: UNC-Path no Explorer, tíquete Kerberos é aceito (sem dúvida para credenciais)
    • Linux:sudo mount -t cifs //ribonas2/test /mnt/ribonas2/smb/ -o domain=DOMAIN,username=paul.jaehne
  • trabalhando com arquivos no compartilhamento

O que não funciona

  • arquivos criados no Windows têm Unix User\e Unix Group\(o UNIX uid e gid também fica visível por um tempo muito curto ao abrir a guia de segurança) em vez de DOMAIN\como prefixo para usuários e grupos
  • adicionar permissões é falho: consigo adicionar principais do domínio e logo depois o DOMAIN\whateveré exibido corretamente. Quando espero algum tempo ou vejo o compartilhamento de outro computador, apenas o SID é exibido (o SID está correto, mas não resolvido para o nome):

Ver foto

Ambiente/Configuração

  • Usei os seguintes guias (não é possível adicionar links reais por causa dos requisitos de reputação):
    • Ubuntu 16.04 SAMBA guia do servidor de arquivos
    • Guia do Ubuntu 16.04 SSSD AD
    • Membro do domínio wiki do SAMBA
    • SAMBA wiki ACL
  • vários controladores de domínio (Windows Server 2003 e Windows Server 2012 R2)
  • Esquema do Active Directory do Windows Server 2003
  • Servidor Ubuntu 16.04
    • SSSD 1.13.4-1ubuntu1.1
    • SMB 2:4.3.8+dfsg-0ubuntu1
    • juntou-se a ambos realm joinenet ads join

sssd.conf:

[sssd]
domains = domain.company.com
config_file_version = 2
services = nss, pam

[domain/domain.company.com]
realmd_tags = manages-system joined-with-adcli
ad_domain = domain.company.com
krb5_realm = DOMAIN.COMPANY.COM

id_provider = ad
cache_credentials = True
krb5_store_password_if_offline = True
enumerate = True
use_fully_qualified_names = False

fallback_homedir = /home/%d/%u
default_shell = /bin/bash

# use uid and gid from active directory
ldap_id_mapping = False

# needed to use correct active directory properties (Windows Server 2003)
ldap_schema = ad
ldap_user_object_class = person
ldap_user_name = msSFU30Name
ldap_user_uid_number = msSFU30UidNumber
ldap_user_gid_number = msSFU30GidNumber
ldap_user_home_directory = msSFU30HomeDirectory
ldap_user_shell = msSFU30LoginShell
ldap_user_gecos = displayName
ldap_group_object_class = group
ldap_group_name = msSFU30Name
ldap_group_gid_number = msSFU30GidNumber

smb.conf(as configurações do arquivo de configuração padrão são recuadas):

[global]
server role = member server
workgroup = DOMAIN
realm = DOMAIN.COMPANY.COM
security = ads
password server = dc1.domain.company.com # shouldn't be necessary and same problem without this line
idmap config * : backend = tdb
idmap config * : range = 100000-999999
idmap config DOMAIN : backend = ad
idmap config DOMAIN : range = 10000-20000 # the UNIX attributes are manually assigned in this range
kerberos method = secrets and keytab

    server string = %h server (Samba, Ubuntu)

    dns proxy = no

    log file = /var/log/samba/log.%m
log level = 10
    max log size = 1000
    syslog = 0

    panic action = /usr/share/samba/panic-action %d

    passdb backend = tdbsam
    obey pam restrictions = yes
    unix password sync = yes
    passwd program = /usr/bin/passwd %u
    passwd chat = *Enter\snew\s*\spassword:* %n\n *Retype\snew\s*\spassword:* %n\n *password\supdated\ssuccessfully* .
    pam password change = yes

    map to guest = bad user

    usershare allow guests = yes

# needed for Windows ACL/ACE
vfs objects = acl_xattr
map acl inherit = yes
store dos attributes = yes

[test]
    path = /srv/samba/test
    writable = yes

TL;DR : Por que os atributos UNIX não são resolvidos para SIDs e por que os SIDs não são resolvidos para nomes?

active-directory server-message-block ubuntu-16.04 sssd mapping
  • 3 3 respostas
  • 18232 Views

3 respostas

  • Voted
  1. Best Answer
    Archer
    2017-03-01T21:10:42+08:002017-03-01T21:10:42+08:00

    Eu tenho a mesma situação. E consertei instalando o samba-winbind. Eu acho que a causa principal é que o samba não sabe como procurar o nome corretamente. Quando você instala o winbind, o smbd usará o winbind para resolução de nomes. Caso contrário, basta usar o linux UID, GID, é por isso que você viu o Unix User/Unix Group no Windows.

    Eu não poderia explicar mais, mas espero que isso ajude você.

    • 2
  2. William Gruesbeck Jr
    2018-12-05T13:48:24+08:002018-12-05T13:48:24+08:00

    A resposta para isso é com os back-ends de mapeamento de id usados ​​no Samba e no SSSD. O winbind "rid" e "auto-rid" do Samba não mapeia o SID do Windows para os números uid/gid da mesma forma que o SSSD. Portanto, se seu servidor CIFS ingressar no domínio com Samba/winbind e seus clientes estiverem conectados via SSSD com as opções padrão, o mapeamento de id falhará.

    O SSSD tem uma configuração ldap_idmap_autorid_compatque você pode definir Trueno arquivo sssd.conf que (deveria): " Altera o comportamento do algoritmo de mapeamento de ID para se comportar de maneira mais semelhante ao algoritmo "idmap_autorid" do winbind. " e, assim, permitir que seus clientes SSSD resolvam esse assunto.

    • 2
  3. bukowski
    2018-12-22T03:49:14+08:002018-12-22T03:49:14+08:00

    Eu uso use_fully_qualified_names = Trueem sssd.conf ele funciona sem nenhum pacote winbind.

    • 1

relate perguntas

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    Você pode passar usuário/passar para autenticação básica HTTP em parâmetros de URL?

    • 5 respostas
  • Marko Smith

    Ping uma porta específica

    • 18 respostas
  • Marko Smith

    Verifique se a porta está aberta ou fechada em um servidor Linux?

    • 7 respostas
  • Marko Smith

    Como automatizar o login SSH com senha?

    • 10 respostas
  • Marko Smith

    Como posso dizer ao Git para Windows onde encontrar minha chave RSA privada?

    • 30 respostas
  • Marko Smith

    Qual é o nome de usuário/senha de superusuário padrão para postgres após uma nova instalação?

    • 5 respostas
  • Marko Smith

    Qual porta o SFTP usa?

    • 6 respostas
  • Marko Smith

    Linha de comando para listar usuários em um grupo do Windows Active Directory?

    • 9 respostas
  • Marko Smith

    O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL?

    • 3 respostas
  • Marko Smith

    Como determinar se uma variável bash está vazia?

    • 15 respostas
  • Martin Hope
    Davie Ping uma porta específica 2009-10-09 01:57:50 +0800 CST
  • Martin Hope
    kernel O scp pode copiar diretórios recursivamente? 2011-04-29 20:24:45 +0800 CST
  • Martin Hope
    Robert ssh retorna "Proprietário incorreto ou permissões em ~/.ssh/config" 2011-03-30 10:15:48 +0800 CST
  • Martin Hope
    Eonil Como automatizar o login SSH com senha? 2011-03-02 03:07:12 +0800 CST
  • Martin Hope
    gunwin Como lidar com um servidor comprometido? 2011-01-03 13:31:27 +0800 CST
  • Martin Hope
    Tom Feiner Como posso classificar a saída du -h por tamanho 2009-02-26 05:42:42 +0800 CST
  • Martin Hope
    Noah Goodrich O que é um arquivo Pem e como ele difere de outros formatos de arquivo de chave gerada pelo OpenSSL? 2009-05-19 18:24:42 +0800 CST
  • Martin Hope
    Brent Como determinar se uma variável bash está vazia? 2009-05-13 09:54:48 +0800 CST

Hot tag

linux nginx windows networking ubuntu domain-name-system amazon-web-services active-directory apache-2.4 ssh

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve