Autenticação de cliente: Ubuntu via sssd / ldap ... [Link]
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 ... [Link]
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:
[Link]
/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 é "[Link]".
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 ... [Link]
("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
[Link]
[Link] )
Gerenciando o CA em SME
PHPKi
Após ter instalado o PHPki, vá para https: //[Link]/phpki e baixe o
certificado de autoridade (ca-certifi[Link]) 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 / [Link] / etc / ssl / certs /
chmod 644 /etc/ssl/certs/[Link]
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 [Link]
3 of 10 13/06/2019 07:55
Autenticação de cliente: Ubuntu via sssd / ldap ... [Link]
ldap_tls_cacert = /etc/ssl/certs/[Link]
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/[Link].
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/[Link]
[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
# [Link]
debug_level = 3
id_provider = ldap
auth_provider = ldap
ldap_schema = rfc2307
ldap_uri = ldap: //[Link]
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/[Link]
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 ... [Link]
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/[Link]
Gorjeta:
Certifique-se de que o arquivo /etc/ssl/certs/ca-certifi[Link] 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 ... [Link]
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 ... [Link]
% 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/[Link]
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/[Link].d/[Link]
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 ... [Link]
Montar Ações
Nota:
Vale a pena ler a seguinte página: [Link]
logonscript#Linux_client_integration
É possível criar um arquivo pam_mount.[Link] 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.[Link]
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.[Link]
<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 = "[Link]"
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 ... [Link]
opções = "uid =% (USER), nosuid, nodev, noexec"
user = "*"
sgrp = "admins" />
<volume fstype = "cifs"
server = "[Link]"
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/[Link].d/[Link]
[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 ... [Link]
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 " [Link]
/[Link]?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