Linux + Autenticação de diretório ativo + somente permitindo login de determinados grupos

13

Eu tenho algumas caixas de linux que usam a autenticação do Windows Active Directory, que funciona muito bem (Samba + Winbind).

O que eu gostaria de fazer agora é permitir que apenas algumas pessoas ou determinados grupos façam login usando as credenciais do Active Directory. Atualmente, qualquer pessoa com uma conta AD válida pode efetuar login. Eu quero limitar isso a apenas alguns grupos. Isso é factível?

    
por Luma 13.07.2010 / 05:29

6 respostas

5

Supondo que os grupos estejam disponíveis para o sistema Linux, eu recomendo editar /etc/security/access.conf para distribuições Ubuntu, RedHat (e seus garfos) e provavelmente um monte de outros. Isso não requer a edição de arquivos PAM e é um bom lugar padrão para isso. Geralmente há exemplos no arquivo, comentados.

    
por 13.07.2010 / 07:04
3

Atualmente, uso a diretiva AllowGroups em /etc/ssh/sshd_config para limitar quem pode fazer login. Especifique um ou mais grupos do AD nessa linha, e essas pessoas serão as únicas capazes de efetuar login.

Tenha em mente que isso só funciona se seus usuários estiverem somente acessando o servidor remotamente via ssh. Se eles estiverem cantando localmente, você precisará encontrar outra solução.

    
por 13.07.2010 / 05:41
3

Sim, existem algumas maneiras de fazer isso, dependendo do que você está tentando realizar exatamente.

O primeiro método pode ser feito através da configuração do samba. Isso só permitirá que esses usuários se conectem ao Samba, outros usuários ainda podem fazer o login através de outros serviços (ssh, termo local, etc). Com isso, você vai querer adicionar uma linha à sua seção [global] em smb.conf:

valid users = @groupA @groupB

O outro método é modificando as regras do PAM. Diferentes distribuições têm pequenas diferenças aqui, mas de um modo geral existem regras PAM por serviço, bem como regras comuns, você pode decidir o que é melhor. Você vai querer adicionar uma restrição de conta usando o módulo pam_require. Um exemplo no meu laptop (Fedora 13) seria modificar a seção da conta em /etc/pam.d/system-auth para:

account     required      pam_unix.so
account     required      pam_require.so @groupA @groupB
account     sufficient    pam_localuser.so
account     sufficient    pam_succeed_if.so uid < 500 quiet
account     required      pam_permit.so

Para simplificar a administração, convém criar um novo grupo no AD com o objetivo de rastrear usuários que podem efetuar login nesse servidor.

    
por 13.07.2010 / 05:48
3

(Eu estou falando sobre o samba 3 aqui, nenhuma experiência no samba 4 agora.)

Não há necessidade de editar os arquivos /etc/pam.d/xxx. pam_winbind.conf é o arquivo que você quer, geralmente está localizado em /etc/security/pam_winbind.conf .

É o arquivo de configuração do módulo pam_winbind, e funciona tanto para o CentOS / Redhat quanto para o Debian / Ubuntu. Você pode ler a página man do pam_winbind.conf para referência .

Aqui está um arquivo de exemplo.

#
# pam_winbind configuration file
#
# /etc/security/pam_winbind.conf
#

[global]

# turn on debugging
;debug = no

# turn on extended PAM state debugging
;debug_state = no

# request a cached login if possible
# (needs "winbind offline logon = yes" in smb.conf)
cached_login = yes

# authenticate using kerberos
;krb5_auth = no

# when using kerberos, request a "FILE" krb5 credential cache type
# (leave empty to just do krb5 authentication but not have a ticket
# afterwards)
;krb5_ccache_type =

# make successful authentication dependend on membership of one SID
# (can also take a name)
# require_membership_of = SID,SID,SID
require_membership_of = S-1-5-21-4255311587-2195296704-2687208041-1794

# password expiry warning period in days
;warn_pwd_expire = 14

# omit pam conversations
;silent = no

# create homedirectory on the fly
mkhomedir = yes
    
por 15.05.2013 / 15:59
0

Eu me esforcei para obter qualquer um dos itens acima para trabalhar para mim no RHEL 7. Abaixo está o que eu consegui fazer funcionar.

/etc/sssd/sssd.conf

Alterar %código% codificar% + access_provider = ad

visudo

  • access_provider = simple

reinicie o serviço sssd.

    
por 13.04.2017 / 15:16
-2

Eu consegui deixar apenas um AD_USER ou AD_GROUP para ssh acessar a caixa linux via autenticação AD.

Os detalhes estão listados como aqui: (preste atenção nos passos 7 e 8)

link

    
por 18.06.2014 / 12:54