Applicazione web RHEL 6.5 PAM AUTH pam_oddjob_mkhomedir

Ho un RHEL 6.5 che authenicates contro un server AD, che parte sta funzionando bene.

La macchina esegue anche un'applicazione web che utilizza un module PAM per l'authentication.

Ho copiato l'accesso per creare un module per l'utilizzo da parte dell'app web. (rstudio-server) e il login funziona perfettamente.

Tuttavia, se l'utente non è connesso prima, la loro home directory non viene creata da pam_oddjob_mkhomedir se sono SU a quell'utente, il dir home viene creato immediatamente.

Ho messo selinux a permissive fino a quando ho ottenuto questo sorted, e sto provando sia pam_mkhomedir.so e pam_oddjob_mkhomedir.so (entrambi sono in atto e il servizio oddjob è in esecuzione)

no prob credo .. non sta iniziando una session è solo authing da PAM quindi provo a mettere la linea chiamando mkhomedir in auth, ma non funziona.

test con pamtester:

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

Come potete vedere, se viene aperta una session, viene creato il dir home, ma non sotto l'authorization.

Ecco il relativo file pam.

 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 

Non posso per la vita di me vedere alcun modo per get oddjob per creare gli utenti homedir fino a quando una session è aperta.

Qualcuno può suggerire un modo per fare questo lavoro?

Avrei pensato che solo: auth opzionale pam_oddjob_mkhomedir.so

Avrei fatto. ma non tanto.

alcune verifiche:

 # 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 

Un'altra idea che sto provando è usare pam_script.

Ho aggiunto questo al file di rstudio di pam:

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

E ho creato un file in /etc/pam-script.d e inserito in esso:

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

In teoria, questo dovrebbe fare il trucco … non mi piace molto per farlo in questo modo però. mi offende in qualche modo.

Suggerimenti per Linux e Windows Server, quali Ubuntu, Centos, Apache, Nginx, Debian e argomenti di rete.