Você está na página 1de 10

Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

Autenticação de Cliente: Ubuntu via


sssd / ldap
Do servidor SME
Aviso:
Este tutorial deve ser validado por Daniel antes de ser usado !!

Aviso:
Isso é baseado em testes limitados e um pequeno número de usuários.

Conteúdo
1 Introdução
2 backup
3 suposições
4 Configuração do servidor SME
5 Configuração do cliente Ubuntu
5.1 Instalação dos pacotes requeridos
5.2 Criar um link simbólico
5.3 Gerenciando o CA em SME
6 PHPKi
7 Letsencrypt
7.1 Configurar SSSD
7.2 Configure o sistema para usar o SSSD como uma fonte de
autenticação:
8 Desktop Setup
8.1 Sudoers
8.2 Permissões do sistema e PolicyKit
8.3 Caixa de login do LightDM
8.4 Montar Acções
9 Notas Diversas
9.1 Senha local necessária para o sudo
9,2 pam_winbind
9,3 pam_kwallet

1 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

Introdução
Este tutorial mostra como configurar um servidor SME (> = 8b6) e um cliente
Ubuntu para uma autenticação SSSD baseada em LDAP da máquina cliente nas
contas de usuário configuradas do SME.

A principal vantagem em comparação com nss_ldap é que as informações de


autenticação permanecem no cache e, portanto, a autenticação ainda pode
funcionar mesmo no modo offline (quando o servidor não estiver disponível).

No entanto, a criação de um usuário local com direitos de administrador é


recomendada para o caso de emergência.

Estas linhas são uma tradução do método dado por Daniel:


https://wikit.firewall-services.com/doku.php/tuto/ipasserelle/authentification
/ubuntu_sssd_on_sme . Muito obrigado a ele por isso.

Cópia de segurança

Aviso:
Esse processo pode bloquear você fora da máquina do cliente. Certifique-
se de que na máquina cliente você tenha uma conta de usuário local com
um nome diferente de qualquer usuário no servidor, por exemplo,
'localadminuser'

Vale a pena fazer um backup dos seguintes arquivos /etc/pam.d/common-


account /etc/pam.d/common-auth /etc/pam.d/common-password
/etc/pam.d/common-session /etc/pam.d/common-session-noninteractive

cp /etc/pam.d/common* / home / myhome / backup

Suposições
Neste tutorial, assumimos que:

o nome do host do SME é "sme-server" e o domínio é "domain.tld".

Configuração do servidor SME


Há pouca configuração necessária no servidor SME.

A única coisa a fazer é criar um usuário (chamado "auth" neste tutorial)


através do gerenciador de servidores e dar a eles uma senha válida

2 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

("something_very_secret" no how-to).

Não é necessário fazer um membro "auth" de nenhum grupo.

Além disso, é recomendado instalar e configurar o PHPki para facilitar o


gerenciamento dos certificados criados pelo próprio usuário .

Configuração do cliente Ubuntu


Instalação dos pacotes requeridos

sudo apt-get instala sssd libnss-sss libpam-sss auth-client-config

Crie um link simbólico

Parece haver um bug na versão do sssd do Ubuntu e, portanto, os seguintes


links devem ser criados:

ln -s / usr / lib / usr / modules

Sem ele, o sssd não pode gerenciar a associação aos grupos no LDAP (fonte
http://us.generation-nt.com/bug-599644-sssd-unable-resolve-ldap-group-
memberships-help-200739341.html )

Gerenciando o CA em SME

PHPKi
Após ter instalado o PHPki, vá para https: //www.domain.tld/phpki e baixe o
certificado de autoridade (ca-certificates.crt) para a máquina cliente.

Coloque uma cópia dele ou de outra CA em / etc / ssl / certs e dê as permissões


644:

cp ~ / Downloads / ca-certificates.crt / etc / ssl / certs /


chmod 644 /etc/ssl/certs/ca-certificates.crt

Letsencrypt
Se você usar o Letsencypt para seus certificados, a máquina cliente já deve ter
o certificado de ca para o letsencrypt instalado

Você deve ser capaz de definir o seguinte em sssd.conf

3 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt

Configurar SSSD

A configuração do sssd é feita de maneira padrão (como no Ubuntu ou no


Fedora, por exemplo) e é feita pelo arquivo /ets/sssd/sssd.conf.

No início deste arquivo, o domínio usado deve ser definido. Em sssd, um


domínio pode ser tomado como uma fonte de conteúdo. É possível definir
vários domínios em ordem de prioridade.
E mais fundo no arquivo, vamos adicionar a configuração do domínio

Se o arquivo não existir por padrão, ele precisa ser criado e precisa obter as
permissões 600 para permitir que o daemon seja iniciado. Nos clientes do
Ubuntu usando o sudo você pode precisar obter um shell root primeiro:

sudo -i

Agora podemos copiar e colar isso no terminal:

cat << '_ EOF'> /etc/sssd/sssd.conf


[sssd]
config_file_version = 2
serviços = nss, pam
domínios = LDAP

[nss]

[pam]

[domínio / LDAP]
# Depurar é agora por domínio
# O nível de depuração pode ser de 0 a 10 para níveis simples,
# ou para mais valores hexadecimais de controle O formato é 0xXXXX
# 1 = 0x0010 2 = 0x0020 3 = 0x040 4 = 0x080 5 = 0x0100 6 = 0x0200
# veja man sssd para mais
# https://access.redhat.com/documentation/pt-br/red_hat_enterprise_linux/6/html/deployment_guide/sssd-troublesho
debug_level = 3
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap: //sme-server.domain.tld
ldap_default_bind_dn = uid = auth, ou = Usuários, dc = domínio, dc = tld
ldap_default_authtok = something_very_secret
ldap_default_authtok_type = password
ldap_search_base = dc = domínio, dc = tld
ldap_user_search_base = ou = Usuários, dc = domínio, dc = tld
ldap_group_search_base = ou = Grupos, dc = domínio, dc = tld
ldap_user_object_class = inetOrgPerson
ldap_user_gecos = cn
ldap_tls_reqcert = hard
ldap_tls_cacert = /etc/ssl/certs/ca-certificates.crt
ldap_id_use_start_tls = true
# descomente abaixo se o SME for um “iPasserelle”
#ldap_user_shell = desktopLoginShell
# comentário abaixo se o SME for um “iPasserelle”
override_shell = / bin / bash

4 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

cache_credentials = true
enumerate = true
# É possível filtrar os logins por meio de um arquivador LDAP
# comentando as duas linhas abaixo.
# Neste exemplo, apenas o usuário membro do grupo de usuários de rede
# será válido neste host.
# posixMemberOF é um parâmetro apenas para um iPasserelle
#access_provider = ldap
#ldap_access_filter = (| (posixMemberOf = admins) (uid = backup))
_EOF

Agora precisamos definir as permissões corretas no arquivo:

chmod 600 /etc/sssd/sssd.conf

Gorjeta:
Certifique-se de que o arquivo /etc/ssl/certs/ca-certificates.crt contenha a
CA que assinou o certificado do SME (se o PHPki for usado, será
necessária uma versão> 0,82-13).

Configure o sistema para usar o SSSD como uma fonte de


autenticação:

Instalação para usar a ferramenta auth-client-config.

Gorjeta:
Se você pretende montar automaticamente os compartilhamentos,
consulte a seção Compartilhamentos de montagem abaixo e adicione as
seções relevantes a pam_auth e pam_session aqui primeiro. Você também
pode querer a seção em Permissões do Sistema

Podemos copiar e colar em um terminal para adicionar as seguintes linhas:

cat << '_ EOF'> /etc/auth-client-config/profile.d/sss


[sss]
nss_passwd = passwd: compat sss
nss_group = group: compat sss
nss_shadow = sombra: compat
nss_netgroup = netgroup: nis

pam_auth = auth [sucesso = 3 padrão = ignorar] pam_unix.so nullok_secure try_first_pass


Requisito de autenticação pam_succeed_if.so uid> = 500 quiet
auth [success = 1 default = ignore] pam_sss.so use_first_pass
Requisito de autenticação pam_deny.so
auth required pam_permit.so

5 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

pam_account = conta requerida pam_unix.so


conta pam_localuser.so suficiente
conta suficiente pam_succeed_if.so uid <500 quiet
conta [padrão = mau sucesso = ok user_unknown = ignorar] pam_sss.so
conta exigida pam_permit.so

pam_password = senha suficiente pam_unix.so sha512 obscuro


senha suficiente pam_sss.so use_authtok
senha exigida pam_deny.so

pam_session = sessão requerida pam_mkhomedir.so skel = / etc / skel / umask = 0077


sessão opcional pam_keyinit.so revogar
sessão requerida pam_limits.so
session [success = 1 default = ignore] pam_sss.so
sessão requerida pam_unix.so
_EOF

E habilite isso:

sudo auth-client-config -a -p sss

Agora você deve poder reinicializar e fazer login como um membro do LDAP.

Devemos ser capazes de restaurar os arquivos de configuração pam originais


com

sudo auth-client-config -a -p sss -r

Configuração de Desktop

Aviso:
Isso parece funcionar no meu Xubuntu Trusty 14.04, mas YMMV!

Sudoers

Crie um grupo 'cliadmins' no servidor. Isso será usado para identificar usuários
do domínio na máquina de desktop.

Para que os usuários do domínio tenham direitos de sudo, precisamos adicionar


esse grupo ao / etc / sudoers

NOTA - use visudo para não quebrar este arquivo! :

sudo visudo

Adicione isso:

6 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

% cliadmins ALL = (TODOS) TODOS

Permissões de sistema e PolicyKit

Eu também achei para ativar o desligamento / reinício, indicador de rede etc eu


tive que adicionar isso ao /etc/auth-client-config/profile.d/sss

pam_session =
sessão opcional pam_systemd.so

Verifique se você executa o Policykit (provavelmente):

pgrep -lf polkit

Para permitir acesso de administrador na área de trabalho, precisamos editar o


seguinte arquivo:

/var/lib/polkit-1/localauthority/10-vendor.d/com.ubuntu.desktop.pkla

Adicione o seguinte às seções conforme necessário:

Identity = unix-group: admin; unix-group: sudo; unix-group: cliadmins

Seções:

[Montagem, verificação, etc. de unidades internas]


[Ajustando o relógio]
[Adicionando ou alterando conexões do NetworkManager em todo o sistema]
[Atualize o software já instalado]
[usb-criador]
[Administração de impressoras]
[Modificar as configurações do relatório de erros]

LightDM Login Box

Se você quiser ter uma caixa de login simples com login manual, você pode
fazer o seguinte:

criar /etc/lightdm/lightdm.conf.d/50-unity-greeter.conf

Adicione o seguinte:

[SeatDefaults]
greeter-show-manual-login = true
greeter-hide-users = true

7 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

Montar Ações

Nota:
Vale a pena ler a seguinte página: https://wiki.contribs.org/Smeserver-tw-
logonscript#Linux_client_integration

É possível criar um arquivo pam_mount.conf.xml local simples e, em


seguida, carregar uma configuração por usuário do servidor

Se você conseguir fazer login com sucesso com uma conta de domínio, poderá
agora tentar montar automaticamente os compartilhamentos.

Você exigirá pelo menos cif-utils e libpam-mount

sudo apt-get instalar libpam-mount cifs-utils

No arquivo acima /etc/auth-client-config/profile.d/sss

Precisamos adicionar o seguinte às seções para:

pam_auth =
auth optional pam_mount.so enable_pam_password

pam_session =
session optional pam_mount.so enable_pam_password

Agora precisamos configurar montagens globais para todos os usuários com


/etc/security/pam_mount.conf.xml

Nota: você pode excluir usuários locais dos diretórios de montagem com a
configuração sgrp. Você pode precisar do substantivo nounix em mntoptions
(precisa de testes)

Adicione o seguinte:

cat << '_ EOF'> /etc/security/pam_mount.conf.xml


<pam_mount>
<debug enable = "0" />
<mntoptions allow = "nosuid, nodev, loop, criptografia, fsck, não vazio, allow_root, allow_other, noexec" />
<mntoptions require = "nosuid, nodev, noexec" />
<logout wait = "5" hup = "0" termo = "sim" kill = "0" />
<mkmountpoint enable = "1" remove = "true" />
<volume fstype = "cifs"
server = "sme.server.com"
path = "% (USER)"
ponto de montagem = "/ home / e-smith / arquivos / usuários /% (USER) / Partages / Personnel"

8 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

opções = "uid =% (USER), nosuid, nodev, noexec"


user = "*"
sgrp = "admins" />
<volume fstype = "cifs"
server = "sme.server.com"
caminho = "obra de arte"
ponto de montagem = "/ home / e-smith / arquivos / users /% (USER) / Montagens / artwork"
opções = "uid =% (USER), nosuid, nodev, noexec"
user = "*"
sgrp = "admins" />
</ pam_mount>
_EOF

Agora, quando você faz login como usuário de domínio, seus


compartilhamentos devem ser montados e você deve ter acesso total ao sudo.

Notas Diversas
Senha local necessária para o sudo

Uma irritação que tenho visto é que quando você executa um programa que
exige sudo, por exemplo, Synaptic, ele pode pedir a senha de um usuário
LOCAL, não o usuário do domínio.

Acredito que adicionar seu novo grupo ao arquivo a seguir apresentará uma
lista de usuários que podem autenticar:

/etc/polkit-1/localauthority.conf.d/51-ubuntu-admin.conf

[Configuração]
AdminIdentities = unix-group: sudo; unix-group: admin; unix-group: cliadmins

Ele apresentará uma caixa 'Autenticar' com uma lista de usuários - eu ainda
não encontrei como aceitar a senha do usuário logado atual (como por caso
normal para usuário autônomo). O mais provável é que exija uma modificação
no lightdm semelhante à acima.

pam_winbind

Você pode obter o seguinte erro:

PAM não é possível dlopen (pam_winbind.so): /lib/security/pam_winbind.so: não é possível abrir o arquivo de obj

Isso ocorre devido a um problema de localização de arquivos. Você pode


resolver esse erro fazendo o seguinte:

cd / lib; ln -s / lib / x86_64-linux-gnu / segurança

pam_kwallet

9 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... https://translate.googleusercontent.com/transla...

Se você não usar o kwallet e ficar irritado com esta mensagem:

PAM não é possível dlopen (pam_kwallet.so): /lib/security/pam_kwallet.so: não é possível abrir o arquivo de obj

edite /etc/pam.d/lightdm e lightdm-greeter e linhas de comentários contendo o


seguinte:

pam_kwallet.so

Queria saber tudo isso há uma semana!

Obtido em " https://wiki.contribs.org


/index.php?title=Client_Authentication:Ubuntu_via_sssd/ldap&oldid=35182 "

Categoria : Como

Esta página foi modificada pela última vez em 20 de setembro de 2018, às


11:28.
O conteúdo está disponível sob a GNU Free Documentation License 1.3,
salvo indicação em contrário.

10 of 10 13/06/2019 07:55

Você também pode gostar