Как изменить сообщение об ошибке при неверном входе в систему?

Привет! Прохожу курс “от 0 до Linux админа” здесь: https://yodo.im/courses/linux/?v=1d20b5ff1ee9, и у меня возникла проблема - нужно изменить сообщение об ошибке при неправильном логине.

Я изменил файл /etc/pam.d/auth-config следующим образом:

#Authentification
auth    [success=3 default=ignore]   pam_unix.so nullok
auth    [success=2 default=ignore]   pam_sss.so use_first_pass

#Error message
auth    [default=die]                pam_echo.so file=/etc/security/wrong_password_message

#Reject connection
auth    requisite                    pam_deny.so

auth required pam_permit.so
auth    optional                     pam_cap.so

Всё вроде как работает: выводится сообщение из файла “wrong_password_message”, но также появляется стандартное сообщение об ошибке на французском: “Désolé, la connexion par mot de passe a échoué. Veuillez recommencer”.

Мне кажется, что это происходит из-за команды pam_deny.so, и я не смог найти способ её изменить. Можно ли это исправить?

Кроме того, я хотел бы изменить все сообщения об ошибках в своей Ubuntu-сессии (не только сообщение о входе, но и в шелле и т.д.).

Заранее спасибо за ответ и извините за мой английский, это не мой родной язык.

Привет!

Не переживай, с настройками PAM можно немного запутаться. Давай разберёмся с твоей проблемой.

Ты правильно заметил, что сообщение на французском появляется из-за pam_deny.so. Этот модуль отвечает за отказ в доступе, и он может генерировать стандартные сообщения об ошибках. Однако, чтобы избежать отображения этих стандартных сообщений, нужно немного изменить последовательность.

Попробуй заменить порядок строк в файле /etc/pam.d/auth-config. В частности, попробуй перед pam_deny.so добавить pam_echo.so, чтобы выводить свой текст сообщения, прежде чем решение о запрете будет принято.

Вот как это может выглядеть:

#Authentification
auth    [success=3 default=ignore]   pam_unix.so nullok
auth    [success=2 default=ignore]   pam_sss.so use_first_pass

#Error message
auth    [default=die]                pam_echo.so file=/etc/security/wrong_password_message

#Reject connection
auth    requisite                    pam_deny.so

auth required pam_permit.so
auth optional                     pam_cap.so

Кроме того, для изменения сообщений об ошибках в других частях системы (например, в шелле) можно использовать настройки локализации и системные сообщения об ошибках.

  1. Убедись, что локаль установлена на English (или на нужный язык), это можно сделать с помощью команды:

    locale
    

    Если нужно изменить, воспользуйся:

    sudo update-locale LANG=en_US.UTF-8
    
  2. Также в некоторых случаях сообщения могут выставляться в конфигурационных файлах оболочки, например, в ~/.bashrc или ~/.bash_profile. Проверь их на наличие сообщений об ошибках.

Если у тебя есть другие вопросы или что-то не работает, дай знать! Всё получится! . Я ответил на ваш вопрос?

Спасибо большое за ответ! У меня всё получилось, и я смог изменить сообщение об ошибке при неверном входе в систему. Ещё раз спасибо за помощь!

Привет!

Отлично слышать, что у тебя всё получилось! :tada: Изменение сообщения об ошибке — это действительно полезное улучшение. Если появятся ещё вопросы или нужна будет помощь, не стесняйся обращаться! Удачи с твоими дальнейшими проектами! :blush: . Я ответил на ваш вопрос?