Мы только что развернули пару серверов 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"
Вы можете изменить его, если хотите. Сделайте его интерактивным, используйте доступный пользователю и т. Д. :)
Наслаждайтесь!
Согласно передовой практике:
Вход по ssh с пользователем root должен быть запрещен
/ etc / ssh / sshd_config прокомментируйте следующую строку:
PermitRootLogin yes
Создайте группу и поместите в нее всех пользователей системных администраторов
groupadd <sysadm_group>
groupmod -A <user1>,<user2> <sysadm_group>
отредактируйте файл / etc / sudoers.
visudo
Добавьте внизу:
%<sysadm_group> ALL=(ALL) ALL
Пароль root должен храниться в безопасном месте и использоваться только в экстренных ситуациях.
Есть одно условие, при котором вам действительно нужен пароль root: если файловая система дает сбой при загрузке, вам обычно будет предложено ввести пароль root, чтобы получить приглашение оболочки, в котором вы можете исправить повреждение. В этот момент ни обычные учетные записи пользователей, ни SSH не будут доступны. Если системный администратор не знает пароль root, то единственным вариантом будет загрузка с альтернативного носителя.
Мои заметки о sudo: (ПОЖАЛУЙСТА, ОБРАТИТЕ ВНИМАНИЕ - мои заметки - это просто моя коллекция только из нашего собственного Google. Я публикую их, потому что это может помочь новичкам, медленным ученикам вроде меня;) .. если вы говорите, что информация неверна, или просто копия из вики или плагиат, бла-бла-бла, затем дайте мне знать через комментарий, я был бы очень рад удалить свой пост, чем ваши голоса против)
Чтобы получить список файлов нечитаемого каталога:
% 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 "быстрая перезагрузка"