CentOS 7 SSSD AD com Samba Share

0

Eu segui o tutorial deste site para instalar o SSSD (sem o WinBind) para ingressar em um domínio do Windows Server 2008. E isso é um grande sucesso. Antes disso, eu estava tentando usar o Zentyal para criar pastas compartilhadas, mas sem sorte ... Zentyal sempre mostra erros ...

Eu queria usar a GUI para concluir o trabalho, mas quando falhei no Webmin Samba e no Zentyal, a única opção que deixei foi configurar um por um com o comando e implementar o smb.conf manualmente. Felizmente, o tutorial pode ingressar no domínio sem problemas, e eu posso configurar o compartilhamento do Samba.

Aqui está o smb.conf

[global]
        workgroup = ADDOMAIN
        server string = Samba Server Version %v
        security = ads
        # encrypt passwords = yes
        # passdb backend = tdbsam
        idmap config * : backend = tdb
        realm = addomain.tld
        access based share enum = yes

        # this is just a member server
        domain master = no
        local master = no
        preferred master = no

        # in my test network I could not get AD authentication for smb shares to work
        # without adding "kerberos method = secrets and keytab"
        kerberos method = secrets and keytab

        # Add the IPs / network ranges / subnets allowed acces to the server in general.
        # this is not a nesessary entry but in general a good idea.
        # hosts allow = 127. your local network info

        # log files split per-machine:
        log file = /var/log/samba/log.%m

        # enable the following line to debug:
        # log level = 3
        # maximum size of 50KB per log file, then rotate:
        max log size = 50

        # Not interested in printers
        load printers = no
        cups options = raw

        # This stops an annoying message from appearing in logs
        printcap name = /dev/null

        # File Shares under valid users I put a group if you create a group for samba in # active directory and add users to it those users will be able to access smb
        # shares from this server over the network.

[guest]
        comment = guest
        path = /home/samba/guest
        public = yes
        readonly = no
        writable = yes
        guest ok = yes

[admin]
        comment = admin
        path = /home/samba/admin
        public = no
        readonly = no
        writable = yes
        guest ok = no
        valid users = @"[email protected]"

Há um usuário, ADDOMAIN \ admintest (ou [email protected]), que faz o login em um PC Windows e tenta acessar a pasta de compartilhamento "Admin", mas não conseguiu conceder acesso. O log diz "NT_STATUS_ACCESS_DENIED". Mas tenho certeza de que a conta está no grupo.

Para garantir que o AD e as informações do usuário sejam sincronizadas com o meu CentOS 7, alterei os usuários válidos de @"[email protected]" para "[email protected]" . O usuário pode acessar a pasta compartilhada.

Então, o que tentei resolver foi usar o comando id . Eu modifiquei o sssd.conf não precisa usar o nome completo qualificado. Então ...

# id admintest

  uid=821800500(admintest) gid=821800513(domain users) groups=821800513(domain users)

Isso é simplesmente estranho. Sim esta conta está nos usuários do domínio, mas ainda tem alguns outros grupos que pertencem ao incluindo o "admingp".

Então usei o comando "getent" para mostrar os membros do grupo.

# getent group admingp
  admingp:*:821808307:administrator,admintest,ben, ... (etc)

Aí está, o mais admirável está no grupo. Porque também no grupo de usuários do domínio e eu tento modificar novamente o smb.conf, os usuários válidos mudaram para @"domain [email protected]" e adivinhem? A pasta de compartilhamento está acessível.

Portanto, posso concluir que o smb.conf está bem, a autenticação do AD está bem. Mas, como você percebeu, id admintest exibe apenas o primeiro grupo correspondente. Os outros são pulados, portanto não posso definir a pasta de compartilhamento com permissão de grupo. E eu tenho dúzias de grupos e dúzias de pastas de compartilhamento lá, não posso simplesmente implementá-las uma a uma.

E eu teste final para o comando id . A conta do Linux "suporte" pertence a dois grupos. Um é "suporte" e o outro é "roda".

# id support
  uid=1000(support) gid=1000(support) groups=1000(support),10(wheel)

Os usuários do Linux não são afetados. Então ... o que deu errado? Eu anexei o sssd.conf aqui. Por favor, dê uma olhada.

[sssd]
domains = addomain.tld
config_file_version = 2
services = nss, pam

[domain/addomain.tld]
ad_domain = addomain.tld
krb5_realm = ADDOMAIN.TLD
realmd_tags = manages-system joined-with-samba
cache_credentials = True
id_provider = ad
krb5_store_password_if_offline = True
default_shell = /bin/bash
ldap_id_mapping = True

# use_fully_qualified_names = True
# fallback_homedir = /home/%u@%d

use_fully_qualified_names = False
fallback_homedir = /home/%u

enumerate = True
access_provider = simple
# access_provider = ldap

Muito obrigado em avançado.

    
por AkiEru 01.11.2017 / 05:04

0 respostas