Назад | Перейти на главную страницу

Linux - Как управлять паролем root?

Мы только что развернули пару серверов Linux. У каждого системного администратора будет своя собственная учетная запись на сервере (например, jsmith), и он будет подключаться по SSH с сертификатом, который будет помещен в файл «authorized_keys» в их домашнем каталоге. После подключения к серверу, если они захотят выполнить команду с повышенными правами, они сделают следующее:

sudo ifconfig

Затем они введут пароль root.

Сейчас я хотел бы узнать о лучших методах управления этим корневым паролем. Стоит ли его периодически менять? И как мне передать этот новый пароль системным администраторам?

** Конечно, я отключу вход root в SSH.

Если они используют sudo, он запросит их пароль, а не пароль root, поэтому смена пароля root не требуется. Просто не забудьте предоставить им соответствующие права в файле / etc / sudoers.

Вам не нужно беспокоиться о пароле root при использовании sudo. Возможно, я бы порекомендовал отключить пароль root, выполнив

sudo passwd -l root

Хотя, прежде чем сделать это, убедитесь, что у вас есть соответствующий системный пользователь со всеми привилегиями.

Вы всегда можете получить корневую консоль, выполнив

sudo -i

Ниже приведен небольшой сценарий, который я использую для подготовки своих серверов.

#!/bin/bash

set -e

addgroup sysadmin
adduser newuser
usermod -a -G sysadmin newuser
chmod u+w /etc/sudoers
echo "\n# Added by <YOUR-NAME>\n%sysadmin ALL=(ALL) ALL" >> /etc/sudoers
chmod u-w /etc/sudoers
su newuser -c "mkdir /home/newuser/.ssh"
su newuser -c "chmod 0700 /home/newuser/.ssh"
su newuser -c 'echo "<YOUR-SSH-KEY>" >> /home/newuser/.ssh/authorized_keys'
su newuser -c "chmod 0644 /home/newuser/.ssh/authorized_keys"

Вы можете изменить его, если хотите. Сделайте его интерактивным, используйте доступный пользователю и т. Д. :)

Наслаждайтесь!

Согласно передовой практике:

  • Учетная запись root должна быть установлена ​​и меняться не реже одного раза в 3 месяца.
  • Вход по ssh с пользователем root должен быть запрещен

    / etc / ssh / sshd_config прокомментируйте следующую строку:

    PermitRootLogin yes

  • Системные администраторы должны входить в систему со своими учетными записями и использовать sudo, когда требуются повышенные привилегии.
  • Создайте группу и поместите в нее всех пользователей системных администраторов

    groupadd <sysadm_group>
    groupmod -A <user1>,<user2> <sysadm_group>

  • отредактируйте файл / etc / sudoers.

    visudo

    Добавьте внизу:
    %<sysadm_group> ALL=(ALL) ALL

  • Пароль root должен храниться в безопасном месте и использоваться только в экстренных ситуациях.

Есть одно условие, при котором вам действительно нужен пароль root: если файловая система дает сбой при загрузке, вам обычно будет предложено ввести пароль root, чтобы получить приглашение оболочки, в котором вы можете исправить повреждение. В этот момент ни обычные учетные записи пользователей, ни SSH не будут доступны. Если системный администратор не знает пароль root, то единственным вариантом будет загрузка с альтернативного носителя.

Мои заметки о sudo: (ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ - мои заметки - это просто моя коллекция только из нашего собственного Google. Я публикую их, потому что это может помочь новичкам, медленным ученикам вроде меня;) .. если вы говорите, что информация неверна, или просто копия из вики или плагиат, бла-бла-бла, затем дайте мне знать через комментарий, я был бы очень рад удалить свой пост, чем ваши голоса против)

Со страницы вики:

  1. В отличие от команды su, пользователи обычно предоставляют sudo свой собственный пароль, а не пароль root.
  2. sudo может регистрировать каждую выполненную команду. Когда пользователь пытается вызвать sudo, не будучи указанным в файле sudoers, пользователю предоставляется ошибка, указывающая на то, что попытка была записана в системный журнал.
  3. sudo может быть настроен на запрос пароля root или вообще без пароля
  4. Этот файл ДОЛЖЕН быть отредактирован с помощью команды 'visudo' от имени пользователя root. из wiki - visudo - это утилита командной строки, которая позволяет безопасно редактировать файл / etc / sudoers. Он открывает / etc / sudoers, используя интерфейс редактора vi по умолчанию (хотя это можно изменить, установив в переменной среды EDITOR оболочки другой текстовый редактор), предотвращает одновременное редактирование с помощью блокировок, выполняет проверки работоспособности и проверки на ошибки синтаксического анализа.
  5. Команда runas предоставляет аналогичные функции в Microsoft Windows, но не может передавать дочерним процессам текущие каталоги, переменные среды или длинные командные строки. И хотя он поддерживает запуск ребенка от имени другого пользователя, он не поддерживает простое повышение прав. Истинные su и sudo для Windows, которые могут передавать всю эту информацию о состоянии и запускать дочерний элемент либо с повышенными правами, либо как другой пользователь (или оба), включены в оболочку Hamilton C.
  6. Существует несколько интерфейсов для sudo для использования в среде графического интерфейса пользователя, в частности kdesudo и gksudo.

Со страницы руководства:

Чтобы получить список файлов нечитаемого каталога:

% sudo ls / usr / местный / защищенный

Чтобы вывести домашний каталог пользователя yazza на машине, где файловая система, содержащая ~ yazza, не экспортируется как root:

% sudo -u yazza ls ~ yazza

Чтобы отредактировать файл index.html от имени пользователя www:

% sudo -u www vi ~ www / htdocs / index.html

Чтобы выключить машину:

% sudo shutdown -r +15 "быстрая перезагрузка"

Часто задаваемые вопросы и советы по устранению неполадок

http://www.sudo.ws/sudo/troubleshooting.html