Я использую Amazon AWS insances под управлением CentOS. Я пытался создать пользователя с привилегией SUDO, а затем отключить вход в систему Root для защиты систем. Я уже сделал все необходимое, чтобы это стало возможным, но теперь я столкнулся с проблемой, которую не понял.
Когда я создал пользователя (скажем, ABC), я не устанавливал для него пароль. Вместо этого я использую ключи RSA для аутентификации.
Затем я использовал visudo
команда и добавил ABC ALL=(ALL) ALL
в конец файла, чтобы предоставить этому пользователю права sudo.
Затем я открыл /etc/ssh/sshd_config
в vi
и повернулся PermitRootLogin
к no
и перезапустите sshd. это отключить root-доступ.
Я ожидал, что это будет оно, то есть отключение входа в систему root и выполнение ABC всех необходимых административных задач. Но сейчас я сильно застрял.
Моя проблема - когда я вхожу в ABC и пытаюсь sudo
любая команда запрашивает пароль пользователя. У этого пользователя нет пароля, но есть ключ RSA, который, я не думаю, можно использовать с SUDO.
Я попытался установить пароль для этого пользователя, используя passwd
команда. Это тоже не работает. Получаю следующую ошибку.
$ passwd
Changing password for user kagzisa.
Changing password for kagzisa
(current) UNIX password:
passwd: Authentication token manipulation error
Я просто нажимаю клавишу ввода, когда он запрашивает текущий пароль, поскольку текущий пароль не указан.
Теперь я застрял, так как у меня отключен вход в систему Root, и я не могу выполнять какие-либо команды из ABC. Я не могу потерять эту систему, так как в ней запущены некоторые важные процессы.
Есть ли способ исправить это. Либо повторно активировав root, либо с помощью команд sudo?
Возможно, вам потребуется установить пакет pam_ssh_agent_auth (доступен для Centos 7), а затем использовать /etc/pam.d/sudo, чтобы принять его в качестве авторизации как ABC, если у вас есть разрешения. Наконец, вам может потребоваться добавить SSH_AUTH_SOCK в список среды переменные, которые сохраняются во время sudo.
Или используйте Nopassword, как рекомендовалось ранее. В противном случае поднимите новую машину, отсоедините ebs и прикрепите к новому ec2, если можно допустить простой
Прежде всего станьте root.
Как root вам не нужно знать пароль, чтобы его изменить:
# passwd kagzisa
Enter new UNIX password:
Вероятно, вам следует использовать тег NOPASSWORD в visudo, чтобы он не запрашивал у вас пароль. ABC ALL = NOPASSWD: ALL