Puncte:0

CRON[83463]: Eroare la setarea acreditărilor utilizatorului

drapel us

Am o serie de containere docker, toate configurate în mare parte identic, care folosesc cu succes cron pentru a rula joburi de backup pe noapte.

Am un alt container, configurat în mare parte identic, care încearcă și nu reușește să folosească cron pentru a rula o sarcină de rezervă de noapte.

Am instalat rsyslog pentru a obține mai multe informații, iar când cron rulează crontab-ul root, văd următoarea intrare în fișierul syslog:

CRON[83463]: Eroare la setarea acreditărilor utilizatorului

Singura diferență dintre acest container și toate celelalte este că acesta permite utilizatorilor să se conecteze folosind LDAP. Are următoarele linii suplimentare în Dockerfile:

RUN echo '*;*;*;Al0000-2400;svn' >> /etc/security/group.conf
COPIEAZĂ grupul_pam /usr/share/pam-configs/groups
RUN echo "sesiune necesară pam_mkhomedir.so skel=/etc/skel umask=077" >> /etc/pam.d/common-session
RUN sed -i 's#\(.*pam_ldap.so.*\)#auth required pam_group.so\n\1#' /etc/pam.d/common-auth
RUN sed -i 's#^passwd:.*#passwd: fișiere ldap systemd#;s#^group:.*#group: fișiere ldap systemd#;s#^shadow:.*#shadow: fișiere ldap#' / etc/nsswitch.conf

The grup_pam fisierul arata ca:

Nume: activați /etc/security/group.conf
Implicit: da

Prioritate: 900
Auth-Type: Primary Auth:
        necesar pam_group.so

În mod clar, ceva despre configurarea LDAP și încercarea de a ne asigura că toți utilizatorii sunt adăugați la svn grup (care nu funcționează deloc) a spart sesiunea utilizatorului root pentru cron.

Am căutat pe tot internetul, dar nu am găsit această eroare specifică. Am încercat soluții similare, dar nimic nu funcționează.

ACTUALIZAȚI:

pam.d/common-auth arată astfel:

auth [success=2 default=ignore] pam_unix.so nullok_secure
auth required pam_group.so
auth [success=1 default=ignore] pam_ldap.so use_first_pass
# aici este soluția dacă niciun modul nu reușește
auth requisite pam_deny.so
# amorsați stiva cu o valoare de returnare pozitivă dacă nu există deja una;
# acest lucru evită să returnăm o eroare doar pentru că nimic nu stabilește un cod de succes
# deoarece modulele de mai sus vor sări fiecare
auth required pam_permit.so
# și aici sunt mai multe module per pachet (blocul „Adițional”)
auth opțional pam_cap.so 

pam.d/cron arată astfel:

@include common-auth

# Setează atributul procesului loginuid
sesiune necesară pam_loginuid.so

# Citiți variabilele de mediu din fișierele implicite ale pam_env, /etc/environment
# și /etc/security/pam_env.conf.
sesiune necesară pam_env.so

# În plus, citiți informațiile despre localitatea sistemului
sesiune necesară pam_env.so envfile=/etc/default/locale

@include common-account
@include common-session-noninteractive 

# Setează limite de utilizator, vă rugăm să definiți limite pentru sarcinile cron
# prin /etc/security/limits.conf
sesiune necesară pam_limits.so
Puncte:1
drapel pk

Problema dvs. este probabil că utilizatorul root nu este în LDAP; va trebui să includeți pam_unix.so în /etc/pam.d/cron oarecum.

De exemplu:

auth [success=2 default=ignore] pam_unix.so nullok_secure
@include common-auth

Asumand comun-auth incepe cam asa:

auth [success=1 default=ignore] pam_ldap.so
auth requisite pam_deny.so
auth required pam_permit.so
drapel us
Am adăugat mai multe informații la întrebare. Cred că am ceea ce sugerezi, că am o linie "auth" pam_unix.so înaintea liniilor LDAP, într-un fișier (common-auth) care este inclus în fișierul pam.d/cron.
András Korn avatar
drapel pk
Bitul `success=2` este greșit. Se va trece la pam_deny.so. Fă-l `succes=3`.
drapel us
Multumesc pentru ajutor si sfat. O să încerc mâine. Ca să pot afla mai multe, am o întrebare. Exemplul dvs. dă `"success=2"` și acesta este și implicit. Ce înseamnă numărul și de ce ar trebui să fie 3?
András Korn avatar
drapel pk
Numărul îi spune PAM câte dintre următoarele module din această stivă să omite dacă rezultatul raportat de acest modul este „succes”. Este un „goto” condiționat, dacă vrei. În configurația dvs., `success=2` face ca `pam_group` și `pam_ldap` să fie ignorate dacă `pam_unix` reușește. De asemenea, vrei să sări peste `pam_deny`, pentru că asta este doar un strâns pentru a nega totul. Ideea cu regulile `success=X` este să treceți peste `pam_deny`, la orice module opționale.
drapel us
Mulțumiri.Asta chiar ajută.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.