Вступление
Одной из самых основных задач, которые вы должны знать, как выполнять на новом сервере Linux, является добавление и удаление пользователей. Когда вы создаете новую систему, вам часто (например, в DigitalOcean Droplets) предоставляется только учетная запись * root * по умолчанию.
Хотя пользователь с правами * root * обладает большой мощностью и гибкостью, он также опасен и может быть разрушительным. Почти всегда лучше добавить дополнительного непривилегированного пользователя для выполнения общих задач. Вам также следует создать дополнительные учетные записи для любых других пользователей, которые могут быть в вашей системе. У каждого пользователя должна быть отдельная учетная запись.
Вы все еще можете получить права администратора, когда они вам нужны, с помощью механизма + sudo +
. В этом руководстве мы рассмотрим, как создавать учетные записи пользователей, назначать привилегии + sudo +
и удалять пользователей.
Как добавить пользователя
Если вы вошли в систему как пользователь * root *, вы можете в любое время создать нового пользователя, набрав:
adduser
Если вы вошли в систему как пользователь без полномочий root, которому были предоставлены права + sudo +
, как продемонстрировано https://www.digitalocean.com/community/articles/initial-server-setup-with-ubuntu-14-04 [в руководстве по первоначальной настройке сервера] вы можете добавить нового пользователя, набрав:
sudo adduser
В любом случае вам будет задан ряд вопросов. Процедура будет:
-
Назначьте и подтвердите пароль для нового пользователя
-
Введите любую дополнительную информацию о новом пользователе. Это совершенно необязательно и можно пропустить, нажав * Enter *, если вы не хотите использовать эти поля.
-
Наконец, вас попросят подтвердить правильность предоставленной вами информации. Введите * Y *, чтобы продолжить.
Ваш новый пользователь теперь готов к использованию! Теперь вы можете войти, используя пароль, который вы установили.
Как предоставить пользователю права Sudo
Если ваш новый пользователь должен иметь возможность выполнять команды с правами администратора (root), вам нужно предоставить новому пользователю доступ к + sudo +
. Давайте рассмотрим два подхода к этой проблеме: добавление пользователя в предопределенную группу + sudo +
user_ и указание привилегий для каждого пользователя в конфигурации + sudo +
.
Добавить нового пользователя в группу Sudo
По умолчанию + sudo +
в системах Ubuntu 16.04 настроен на предоставление полных привилегий любому пользователю в группе * sudo *.
Вы можете увидеть, в каких группах находится ваш новый пользователь, с помощью команды + groups +
:
groups newuser
Outputnewuser : newuser
По умолчанию новый пользователь находится только в своей собственной группе, которая создается во время создания учетной записи, и делится именем с пользователем. Чтобы добавить пользователя в новую группу, мы можем использовать команду + usermod +
:
usermod -aG sudo
Опция + -aG +
здесь указывает + usermod +
добавить пользователя в перечисленные группы.
Проверьте права пользователя Sudo
Теперь ваш новый пользователь может выполнять команды с правами администратора.
Когда вы вошли в систему как новый пользователь, вы можете выполнять команды как обычный пользователь, набрав команды как обычно:
some_command
Вы можете выполнить ту же команду с правами администратора, набрав + sudo +
перед командой:
sudo some_command
Вам будет предложено ввести пароль учетной записи обычного пользователя, в которую вы вошли как.
Указание явных пользовательских привилегий в / etc / sudoers
В качестве альтернативы для помещения вашего пользователя в группу * sudo * вы можете использовать команду + visudo +
, которая открывает файл конфигурации с именем + / etc / sudoers +
в системном редакторе по умолчанию и явно указывает привилегии для каждого пользователя. Пользовательская база.
Использование + visudo +
- это единственный рекомендуемый способ внести изменения в + / etc / sudoers +
, поскольку он блокирует файл от нескольких одновременных изменений и выполняет проверку его содержимого перед перезаписью файла. Это помогает предотвратить ситуацию, когда вы неправильно настроили + sudo i
и не можете решить проблему, потому что вы потеряли привилегии` + sudo`.
Если вы вошли в систему как * root *, введите:
visudo
Если вы вошли в систему, используя пользователя без полномочий root с правами + sudo +
, введите:
sudo visudo
Традиционно + visudo +
открывает + / etc / sudoers +
в редакторе + vi +
, что может сбивать с толку неопытного пользователя. По умолчанию в новых установках Ubuntu он должен вместо этого использовать + nano +
, что обеспечивает более привычный опыт редактирования текста. Используйте клавиши со стрелками для перемещения курсора и найдите строку, которая выглядит следующим образом:
/ и т.д. / sudoers
root ALL=(ALL:ALL) ALL
Ниже этой строки скопируйте формат, который вы видите здесь, изменив только слово «root» для ссылки на нового пользователя, которому вы хотели бы предоставить привилегии sudo:
/ и т.д. / sudoers
root ALL=(ALL:ALL) ALL
ALL=(ALL:ALL) ALL
Вы должны добавить новую строку для каждого пользователя, которой должны быть предоставлены полные привилегии sudo. Когда вы закончите, вы можете сохранить и закрыть файл, нажав * Ctrl-X *, затем * Y *, а затем * Enter * для подтверждения.
Как удалить пользователя
В случае, если вам больше не нужен пользователь, лучше удалить старую учетную запись.
Вы можете удалить самого пользователя, не удаляя ни одного из его файлов, введя это как root:
deluser
Если вы вошли в систему как другой пользователь без полномочий root с правами sudo, вы можете вместо этого набрать:
sudo deluser
Если вместо этого вы хотите удалить домашний каталог пользователя при удалении пользователя, вы можете выполнить следующую команду как root:
deluser --remove-home
Если вы запускаете это как пользователь без полномочий root с правами sudo, вместо этого вы должны набрать:
sudo deluser --remove-home
Если вы ранее настроили привилегии sudo для пользователя, которого вы удалили, вы можете снова удалить соответствующую строку, набрав:
visudo
Или используйте это, если вы не пользователь root с привилегиями sudo:
sudo visudo
root ALL=(ALL:ALL) ALL
newuser ALL=(ALL:ALL) ALL # DELETE THIS LINE
Это предотвратит случайное предоставление новым пользователям, созданным с таким же именем, привилегий sudo.
Заключение
Теперь у вас должно быть довольно хорошее представление о том, как добавлять и удалять пользователей из вашей системы Ubuntu 16.04. Эффективное управление пользователями позволит вам разделять пользователей и предоставлять им только доступ, необходимый для выполнения их работы.
Для получения дополнительной информации о том, как настроить + sudo +
, ознакомьтесь с нашим руководством на https://www.digitalocean.com/community/articles/how-to-edit-the-sudoers-file-on-ubuntu-and-centos [как редактировать файл sudoers] здесь.