Логины типа <a href="https://ask--ubuntu-ru.translate.goog/cdn-cgi/l/email-protection?_x_tr_sl=en&amp;_x_tr_tl=ru&amp;_x_tr_hl=ru&amp;_x_tr_pto=nui" rel="nofollow noopener noreferrer" target="_blank">[email protected]</a> приводят к тому, что файлы п

Пользователи в моей школе привыкли входить в электронную почту, Windows и т. д. с помощью логина (аутентифицированного с помощью Active Directory через LDAP). К сожалению, это приводит к хаосу и повреждению их профиля пользователя.

ОБНОВЛЕНИЕ – ПРИЧИНА: Это было вызвано некоторыми пользовательскими модификациями в нашей настройке, о которых я не знал и которые были внесены до меня. Мне было немного сложно найти.

Пользовательский код находился в:/etc/pam.d/common-authКоторый запустил скрипт, который выполнилchown -R ${PAM_USER}. ${HOME_DIR}. Когда пользователи вошли в систему как [email protected], это становитсяchown -R username@ad.foo. ${HOME_DIR}.

Проблема со входом: имя пользователя@xyz

Новый пользователь входит в систему какusername@ad.foo. LDAP аутентифицируется с помощью AD и принимает вход. Система пытается создать новый профиль пользователя в /home.. однако где-то происходит сбой, и новый профиль принадлежит пользователю root.

Рабочий логин: имя пользователя

Если пользователь входит в систему в первый раз как простоusernameтогда все хорошо. LDAP аутентифицирован с помощью AD, учетная запись создана и имеет правильного владельца.

Система:

  • ОС: КУбунту 22.04 ЛТС. Ошибка также возникает в KUbuntu 20.04 LTS.
  • Аутентификация: LDAP (через SSSD)

Как решить эту проблему?

  • Могут ли sddm или sssd отфильтровать все после «@...»?
  • Какой процесс на самом деле копирует /etc/skel, а затем выполняет chown?
  • Как отладить?

Лог-файлы

      auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_unix(sddm:auth): authentication failure; logname= uid=0 euid=0 tty= ruser= rhost=  user=u5371234@ad.foo
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_sss(sddm:auth): authentication success; logname= uid=0 euid=0 tty= ruser= rhost= user=u5371234@ad.foo
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_succeed_if(sddm:auth): requirement "uid >= 1000000" was met by user "u5371234@ad.foo"                                                        
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_exec(sddm:auth): Calling /bin/bash ...                                                         
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: gkr-pam: unable to locate daemon control file                                                           
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: gkr-pam: stashed password to try later in open session                                       
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:auth): pam_kwallet5: pam_sm_authenticate                                                                                               
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred                                  
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_unix(sddm:session): session opened for user u5371234@ad.foo(uid=15371234) by (uid=0)                                                         
auth.log.1:Jul 26 15:26:43 linux042 systemd-logind[1177]: New session 3 of user u5371234.                                                                                                                  
auth.log.1:Jul 26 15:26:43 linux042 systemd: pam_unix(systemd-user:session): session opened for user u5371234(uid=15371234) by (uid=0)                                               
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_unix(sddm-greeter:session): session closed for user sddm                                                                                              
auth.log.1:Jul 26 15:26:43 linux042 systemd-logind[1177]: Session 1 logged out. Waiting for processes to exit.             
auth.log.1:Jul 26 15:26:43 linux042 systemd-logind[1177]: Removed session 1.                                                                                                                               
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: gkr-pam: gnome-keyring-daemon started properly and unlocked keyring
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_open_session                                                                                            
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:session): pam_kwallet5: Couldn't create salt file                       
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:session): pam_kwallet5: Couldn't read salt file                                                                                        
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:session): pam_kwallet5: Fail into creating the hash
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_unix(sddm:session): session closed for user u5371234@ad.foo                                                                                  
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:session): pam_kwallet5: pam_sm_close_session                                                                                            
auth.log.1:Jul 26 15:26:43 linux042 sddm-helper: pam_kwallet5(sddm:setcred): pam_kwallet5: pam_sm_setcred
auth.log.1:Jul 26 15:26:43 linux042 systemd-logind[1177]: Session 3 logged out. Waiting for processes to exit.                                                                                             

daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Starting SSSD PAM Service responder private socket...
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Starting SSSD PAM Service responder socket...                                                                                                            
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Starting SSSD PAC Service responder... 
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1525]: [sssd] [main] (0x0070): Misconfiguration found for the pam responder.                                                  
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1525]: The pam responder has been configured to be socket-activated but it's still mentioned in the services' line in /etc/sss
d/sssd.conf.                                                                                                                                                                                               
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1525]: Please, consider either adjusting your services' line in /etc/sssd/sssd.conf or disabling the pam's socket by calling:
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1525]: "systemctl disable sssd-pam.socket"                                                                                    
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: sssd-pam-priv.socket: Control process exited, code=exited, status=17/n/a
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: sssd-pam-priv.socket: Failed with result 'exit-code'.                                                                                                    
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Failed to listen on SSSD PAM Service responder private socket.           
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Dependency failed for SSSD PAM Service responder socket.                                                                                                 
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: sssd-pam.socket: Job sssd-pam.socket/start failed with result 'dependency'.              
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1526]: [sssd] [main] (0x0070): Misconfiguration found for the pam responder.
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1526]: The pam responder has been configured to be socket-activated but it's still mentioned in the services' line in /etc/sss
d/sssd.conf.                                                                       
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1526]: Please, consider either adjusting your services' line in /etc/sssd/sssd.conf or disabling the pam's socket by calling:
daemon.log.1:Jul 26 15:26:43 linux042 sssd_check_socket_activated_responders[1526]: "systemctl disable sssd-pam.socket"
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Started SSSD PAC Service responder.
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: sssd-pam.socket: Control process exited, code=exited, status=17/n/a
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: sssd-pam.socket: Failed with result 'exit-code'.
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Closed SSSD PAM Service responder socket.
daemon.log.1:Jul 26 15:26:43 linux042 sssd_pac[1528]: Starting up
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Created slice User Slice of UID 15371234.
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Starting User Runtime Directory /run/user/15371234...
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Finished User Runtime Directory /run/user/15371234.
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1]: Starting User Manager for UID 15371234...
daemon.log.1:Jul 26 15:26:43 linux042 systemd[1546]: Failed to open configuration file '/home/u5371234/.config/systemd/user.conf': Permission denied

1 ответ

ПРИЧИНА:

Проблема была с нашей стороны, а не с Ubuntu. Это было вызвано некоторыми изменениями в нашей установке, о которых я не знал и которые были сделаны до меня. Мне было немного сложно найти.

Пользовательский код находился в:/etc/pam.d/common-auth, который затем запустил скрипт, выполняющийchown -R ${PAM_USER}. ${HOME_DIR}. Когда пользователи вошли в систему как [email protected], это становитсяchown -R username@ad.foo. ${HOME_DIR}. Команда chown завершается неудачно, и разрешения профиля пользователя нарушены.

ИСПРАВИТЬ:

Обрезка всего после "@" для переменной PAM_USER исправила процесс создания учетной записи.

      ### Trim PAM_USER: :: zid@ad.unsw.edu.au -> zid
#   Students are logging in as zid@ad.unsw.edu.au which breaks chown below -> then breaks KDE login
PAM_USER=${PAM_USER%@*}
# ... this fixes: chown -R ${PAM_USER}. ${HOME_DIR}

Код обрезки на основе: https://stackoverflow.com/questions/4168371

Другие вопросы по тегам