Alguém está usando o access.conf e a autenticação de netgroup com o sssd?

1

Eu quero poder autenticar usuários (via ssh) para grupos específicos de hosts com base na associação de netgroup LDAP dos usuários. O servidor LDAP é dsee7. A distro é OEL 6.5 com o openldap como cliente.

A única conta que não queremos autenticar usando o LDAP é a raiz.

sssd.conf tem esta aparência:

[sssd]
config_file_version = 2
services = nss,pam,autofs

domains = default
[nss]
filter_groups = root
filter_users = root
reconnection_retries = 3
entry_cache_timeout = 300
entry_cache_nowait_percentage = 75

[pam]


[domain/default]
auth_provider = ldap
ldap_id_use_start_tls = True
chpass_provider = ldap
cache_credentials = True
ldap_search_base = dc=e-durp,dc=com
id_provider = ldap
ldap_uri = ldaps://lvl1.lvs01.edurp.com/ ldaps://lvl1.lvs01.edurp.com/
ldap_tls_cacertdir = /etc/openldap/cacerts

O /etc/openldap/ldap.conf tem esta aparência:

URI ldaps://ldap.edurp.com/ ldaps://ldap1.edurp.com ldaps://ldap2.edurp.com
BASE dc=edurp,dc=com
TLS_CACERTDIR /etc/openldap/cacerts
TLS_CACERT /etc/openldap/cacerts/ldap_ca.cert
TLS_REQCERT never

nsswitch.conf tem esta aparência:

passwd:     files compat
shadow:     files compat
passwd_compat: sss
shadow_compat: sss
group:      files sss
hosts:      files dns
bootparams: nisplus [NOTFOUND=return] files
ethers:     files
netmasks:   files
networks:   files
protocols:  files
rpc:        files
services:   files sss
netgroup:   sss files
publickey:  nisplus
automount:  files ldap
aliases:    files nisplus

E /etc/pam.d/system-auth lê:

auth        required      pam_env.so
auth        sufficient    pam_fprintd.so
auth        sufficient    pam_unix.so nullok try_first_pass
auth        requisite     pam_succeed_if.so uid >= 500 quiet
auth        sufficient    pam_sss.so use_first_pass
auth        required      pam_deny.so

account     required      pam_unix.so broken_shadow
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     [default=bad success=ok user_unknown=ignore] pam_sss.so
account     required      pam_permit.so

password    requisite     pam_cracklib.so try_first_pass retry=3 type=
password    sufficient    pam_unix.so md5 shadow nullok try_first_pass use_authtok
password    sufficient    pam_sss.so use_authtok
password    required      pam_deny.so

session     optional      pam_keyinit.so revoke
session     required      pam_limits.so
session     [success=1 default=ignore] pam_succeed_if.so service in crond quiet use_uid
session     required      pam_unix.so
session     optional      pam_sss.so

Então eu tentei adicionar um netgroup ao /etc/security/access.conf da seguinte forma:

#- : ALL : ALL
-:@eeederp: ALL

e reiniciado sssd apenas no caso. . .

Meu usuário pertence ao netgroup eeederp e ainda consegue entrar usando sua senha LDAP.

Qualquer pista seria apreciada.

    
por mr.zog 17.07.2014 / 17:12

3 respostas

0

Eu tenho o Red Hat 6 autenticando contra o AD usando Netgroups com sucesso. Eu estou tentando obtê-lo autenticando contra um antigo servidor LDAP da Sun e não estou tendo sorte. Eu posso ver os netgroups, eu posso ver o usuário com "getent netgroup {nome do netgroup} e eu posso su para o usuário. No entanto, quando eu tento fazer o login, ele não funciona.

O que eu posso te dizer da minha autenticação AD é que sua declaração netgroup é o oposto do que você quer. Quando você começa com um - isso significa NÃO permitir que eles façam login. Tente mudar isso para um + significando DO para permitir que os usuários deste netgroup efetuem login.

Use também o comando getent para verificar se você pode ver seus usuários e netgroup propriamente. getent passwd {username} getent netgroup {nome do netgroup}

Lembre-se que o getent também consulta seus arquivos locais (conforme definido no nsswitch.conf) para obter informações, portanto, certifique-se de que as informações estejam disponíveis apenas via LDAP.

Espero que isso ajude,

Dan

    
por 19.09.2014 / 17:14
0

Não é um especialista em pam, mas se você estiver usando o access.conf, você precisa de uma referência ao pam_access.so. possivelmente: conta exigida pam_access.so

Mantenha um shell de root aberto enquanto você testa. Eu consegui bloquear o usuário root com uma edição pam ruim.

    
por 20.08.2014 / 13:34
0

se você estiver usando o SSSD como reivindicado acima, então as entradas nsswitch.conf devem ser as seguintes para netrgoups "compat glibc mode" para trabalhar

/etc/nsswitch.conf

passwd: compat
passwd_compat: sss

e sua senha / etc / deve ter o seguinte

-@eeederp

não

-@eeederp:x:::::

para desabilitar qualquer usuário nesse netgroup @eeederp para acessar o servidor. Não tenho certeza porque access.conf não funcionou. no entanto, isso funcionará.

    
por 23.02.2015 / 19:57

Tags