Что такое PAM и почему AWS разрешает его по умолчанию?

Что-то вроде этого? (спасибо muru для наконечника printf)

printf '%s' 'foo,bar,baz' | xargs -d, mkdir
$ ls
$ printf '%s' 'foo,bar,baz' | xargs -d, mkdir
$ ls
bar  baz  foo
$ 

Вы можете превратить его в функцию для удобства использования:

function mkdir_cs {
    printf '%s' "$1" | xargs -d, mkdir
}
$ ls
$ mkdir_cs 'foo,bar,baz'
$ ls
bar  baz  foo
$ 
1
задан 16 October 2017 в 21:52

2 ответа

Pam - это подключаемые модули аутентификации.

Это бэкэнд для аутентификации, который обрабатывает аутентификацию для приложений в системе. Как говорится в названии, он подключается. У вас может быть несколько подключаемых модулей, обеспечивающих аутентификацию из разных источников. Общим источником является / etc / passwd и / etc / shadow в комбинации. Другие могут быть LDAP, Kerberos, NIS или считыватели отпечатков пальцев.

Короче говоря, он обеспечивает согласованный интерфейс для приложений, таких как login и ssh, для аутентификации.

Он состоит из из четырех частей:

Учетные записи - отслеживание имен пользователей. Аутентификация - проверка паролей (или отпечатков пальцев .. или ...) Управление сеансом - действия, которые должны выполняться при запуске и завершении сеанса, например, учет. Обновление паспортов - обновление паролей, а также обеспечение соблюдения стандартов пароля.

Если мы посмотрим на man sshd_config, мы можем прочитать следующее:

UsePAM Включает интерфейс подключаемого модуля аутентификации. Если установлено значение «да», это позволит использовать аутентификацию PAM с использованием функции ChallengeResponseAuthentication и PasswordAuthentication в дополнение к обработке учетных записей PAM и сеансового модуля для всех типов аутентификации. Поскольку аутентификация с запросом на запрос PAM обычно служит эквивалентной роли для аутентификации паролей, вы должны отключить функцию PasswordAuthentication или ChallengeResponseAuthentication. Если UsePAM включен, вы не сможете запустить sshd (8) как пользователь без полномочий root. По умолчанию «нет».

Вы не можете установить его, если вы не хотите использовать PAM. В одном постоянном экземпляре нет возможности использовать плагины для использования PAM - вы, как правило, имеете только один источник аутентификации (/ etc / passwd / / etc / shadow). С другой стороны, в этой среде нет больших причин для изменения.

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

Изменить: как зверски знал пользователь - не устанавливайте его в no, если вы не используете аутентификацию открытого ключа или не разрешаете другие схемы аутентификации пароля. С помощью ssh также можно изменить конфигурацию, перезапустить ssh и попытаться войти в систему перед выходом из текущей оболочки. Таким образом, вы можете вернуться, если вы заблокированы.

1
ответ дан 18 July 2018 в 05:12

Pam - это подключаемые модули аутентификации.

Это бэкэнд для аутентификации, который обрабатывает аутентификацию для приложений в системе. Как говорится в названии, он подключается. У вас может быть несколько подключаемых модулей, обеспечивающих аутентификацию из разных источников. Общим источником является / etc / passwd и / etc / shadow в комбинации. Другие могут быть LDAP, Kerberos, NIS или считыватели отпечатков пальцев.

Короче говоря, он обеспечивает согласованный интерфейс для приложений, таких как login и ssh, для аутентификации.

Он состоит из из четырех частей:

Учетные записи - отслеживание имен пользователей. Аутентификация - проверка паролей (или отпечатков пальцев .. или ...) Управление сеансом - действия, которые должны выполняться при запуске и завершении сеанса, например, учет. Обновление паспортов - обновление паролей, а также обеспечение соблюдения стандартов пароля.

Если мы посмотрим на man sshd_config, мы можем прочитать следующее:

UsePAM Включает интерфейс подключаемого модуля аутентификации. Если установлено значение «да», это позволит использовать аутентификацию PAM с использованием функции ChallengeResponseAuthentication и PasswordAuthentication в дополнение к обработке учетных записей PAM и сеансового модуля для всех типов аутентификации. Поскольку аутентификация с запросом на запрос PAM обычно служит эквивалентной роли для аутентификации паролей, вы должны отключить функцию PasswordAuthentication или ChallengeResponseAuthentication. Если UsePAM включен, вы не сможете запустить sshd (8) как пользователь без полномочий root. По умолчанию «нет».

Вы не можете установить его, если вы не хотите использовать PAM. В одном постоянном экземпляре нет возможности использовать плагины для использования PAM - вы, как правило, имеете только один источник аутентификации (/ etc / passwd / / etc / shadow). С другой стороны, в этой среде нет больших причин для изменения.

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

Изменить: как зверски знал пользователь - не устанавливайте его в no, если вы не используете аутентификацию открытого ключа или не разрешаете другие схемы аутентификации пароля. С помощью ssh также можно изменить конфигурацию, перезапустить ssh и попытаться войти в систему перед выходом из текущей оболочки. Таким образом, вы можете вернуться, если вы заблокированы.

1
ответ дан 24 July 2018 в 18:16
  • 1
    Я изменил его на no и перезапустил ssh.service, и теперь я получаю & quot; Сервер отказал нашему ключу & quot ;. – modkooc 16 October 2017 в 22:09
  • 2
    Странный. Протестировано на складе ванили Ubuntu openssh sshd_config. У вас все еще есть открытая оболочка? Если это так, вернитесь к PAM и повторите попытку. – vidarlo 16 October 2017 в 22:26
  • 3
    Нет. Я закрыл сеанс ssh после перезапуска ssh.service. Наверное, я заперта навсегда? – modkooc 16 October 2017 в 22:31
  • 4
    Ну, вы удалили PAM и не определили какие-либо другие методы проверки подлинности паролей - и, вероятно, не были установлены публичный ключ? Есть способы восстановить (настроить новую машину в том же регионе, подключить диск к этому экземпляру, отредактировать конфигурацию, вернуться к старому экземпляру и загрузиться старый экземпляр), но если вы не сделали много настроек, проще начать с новый. – vidarlo 16 October 2017 в 22:33
  • 5
    Все в порядке, у меня только был установлен вышибала. Во всяком случае, я создал новый экземпляр Ec2 и UsePAM yes снова по умолчанию, и я предлагаю не переключать его на нет, если вы не хотите быть заблокированным :) – modkooc 17 October 2017 в 00:19

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

Похожие вопросы: