Creating a new user who can sudo?

I've been advised by AWS documentation not to access the server as root but create a new user, and do so without a password using this flag:

--disabled-password

I now need to run a sudo command to install nginx.

  1. How can I run a sudo command, it keeps asking for a password, for which none is set. Every time I need to use a sudo command, do I need to log in as the root user?

  2. If I allow the new user account to have sudo access - does this not remove the entire point of having a separate account from the root for security reasons?

-1
задан 9 October 2016 в 19:02
2 ответа

В файле / etc / sudoers перечислены все пользователи с доступом root. . Вероятно, у вас есть такая строка либо в самом файле, либо в любом файле в каталоге /etc/sudoers.d :

username ALL=(ALL) ALL

Вместо ALL могут быть некоторые ограничения , например, последний ALL заменен на / usr / bin / apt-get или аналогичный, чтобы вы могли выполнять эту команду только через sudo. Сам файл хорошо документирован.

Чтобы заставить пользователя выполнять команды sudo без пароля, просто добавьте NOPASSWD в строку:

username ALL=(ALL) NOPASSWD: ALL

И да, это безопаснее, чем просто доступ к пользователь root через ssh. Как правило, никогда не входите в систему как root и никогда не входите в систему с паролем через ssh, а используйте аутентификацию с открытым ключом. Для получения дополнительной информации ознакомьтесь с этим ответом: Почему вход в систему root через SSH настолько плох, что все советуют его отключить?

2
ответ дан 5 December 2019 в 19:13

AWS предоставляет sudo доступ к пользователю по умолчанию независимо от того, какой дистрибутив Linux вы используете. Например, для экземпляра Ubuntu пользователь по умолчанию будет ubuntu, дистрибутив Amazon linux будет иметь пользователя по умолчанию как ec2-user, Centos / Redhat будет иметь пользователя detault как root / ec2_user

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

  1. Ubuntu - >> sudo apt-get install nginx
  2. Amazon linux - >> sudo yum install -y nginx
  3. Centos / Redhat - >> sudo yum install -y nginx

Вы можете добавить нового пользователя с помощью команды useradd . Это довольно просто, однако вам нужно будет сгенерировать пару ключей RSA для этого пользователя и добавить ее в файл .ssh / authorized_keys в домашнем каталоге пользователей на удаленном хосте.

Для привилегий sudo вам необходимо добавить своего пользователя / etc / sudoers файл Запись должна выглядеть, как показано ниже.

username ALL = (ALL) ALL

Но для редактирования файла / etc / sudoers вы должны быть либо пользователем по умолчанию, либо пользователем root. Вот что вам следует делать. Войдите в систему как пользователь по умолчанию и отредактируйте файл, используя следующую команду sudo nano / etc / sudoers

1
ответ дан 5 December 2019 в 19:13

Теги

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