aplicação web RHEL 6.5 PAM AUTH pam_oddjob_mkhomedir

5

Eu tenho um RHEL 6.5 que autentica contra um servidor AD, esse lado está funcionando bem.

A máquina também está executando um aplicativo da web que usa um módulo PAM para autenticar.

Copiei o login para criar um módulo pam para uso pelo aplicativo da web. (rstudio-server) e o login está funcionando perfeitamente.

No entanto, se o usuário não tiver efetuado login antes, seu diretório pessoal não será criado por pam_oddjob_mkhomedir se eu for o SU para esse usuário, o diretório inicial será criado instantaneamente.

Eu configurei o selinux para permissivo até que eu consiga isso, e eu estou tentando tanto o pam_mkhomedir.so quanto o pam_oddjob_mkhomedir.so (ambos estão no lugar e o serviço está funcionando)

no prob Eu acho .. não está iniciando uma sessão é apenas authing do PAM então eu tento colocar a linha chamando mkhomedir em auth, mas não está funcionando.

testando com pamtester:

# pamtester rstudio 00064742 "authenticate"
Password: 
pamtester: successfully authenticated



# pamtester rstudio 00064742 "open_session"
Creating home directory for 00064742.
pamtester: sucessfully opened a session

Como você pode ver, se uma sessão é aberta, o diretório home é criado, mas não sob auth.

Aqui está o arquivo pam relevante.

pam.d]# cat rstudio
#%PAM-1.0
auth [user_unknown=ignore success=ok ignore=ignore default=bad] pam_securetty.so
auth       required     pam_warn.so
auth       include      system-auth
#auth    optional     pam_mkhomedir.so skel=/etc/skel/ umask=0077
auth    optional     pam_oddjob_mkhomedir.so
account    required     pam_nologin.so
account    include      system-auth
password   include      system-auth
# pam_selinux.so close should be the first session rule
session    required     pam_selinux.so close
session    required     pam_oddjob_mkhomedir.so debug
session    optional     pam_mkhomedir.so skel=/etc/skel/ umask=0077
session    required     pam_loginuid.so
session    optional     pam_console.so
# pam_selinux.so open should only be followed by sessions to be executed in the user context
session    required     pam_selinux.so open
session    required     pam_namespace.so
session    optional     pam_keyinit.so force revoke
session    include      system-auth
#-session   optional     pam_ck_connector.so

Eu não posso, para a vida de mim, ver qualquer maneira de conseguir um emprego estranho para criar o homedir do usuário até que uma sessão seja aberta.

Alguém pode sugerir uma maneira de fazer isso funcionar?

Eu teria pensado que apenas: auth opcional pam_oddjob_mkhomedir.so

Teria feito isso. mas não tanto.

alguma verificação:

# service oddjobd status
oddjobd (pid  2427) is running...

# rpm -qa | grep oddjob
oddjob-0.30-5.el6.x86_64
oddjob-mkhomedir-0.30-5.el6.x86_64


# getenforce
Permissive

Uma outra ideia que estou tentando é usar o pam_script.

Adicionei isso ao arquivo pam rstudio:

auth       required     pam_script.so onerr=success dir=/etc/pam-script.d

Eu criei um arquivo em /etc/pam-script.d e coloquei nele:

#!/bin/sh

dbus-send --system --dest=com.redhat.oddjob_mkhomedir --print-reply / com.redhat.oddjob_mkhomedir.mkhomedirfor string:"$PAM_USER"

Em teoria, isso deve dar certo. Eu não gosto muito de fazer isso dessa maneira. me ofende de alguma forma.

    
por Frank Hauptle 11.07.2014 / 10:48

2 respostas

0

Se você quer que o diretório seja criado quando você su, assim como no login, então pode valer a pena testar / adicionar a seguinte linha em /etc/pam.d/su:

session optional pam_oddjob_mkhomedir.so

    
por 08.03.2017 / 17:42
0

No Ubuntu 18 eu tive um problema semelhante, parece que a versão da comunidade R-Studio só respeita "auth" não "sessão"

A solução alternativa era introduzir o /etc/pam.d/rstudio da seguinte forma:

auth [success=ok new_authtok_reqd=ok ignore=ignore user_unknown=bad default=die] pam_exec.so /etc/pam.d/mkhome.sh

@include common-auth
@include common-account
@include common-password
@include common-session

com /etc/pam.d/mkhome.sh apenas    / bin / su -l $ PAM_USER -c exit 2 > / dev / null

    
por 04.12.2018 / 07:07