Какие шаги для добавления пользователя в систему без использования useradd / adduser?

10

Я просматривал некоторые вопросы по Linux и увидел этот интересный вопрос.

Какие шаги для добавления пользователя в систему без использования useradd/ adduser?

Один из возможных способов, который приходит мне в голову, это

  • Добавить запись для пользователя в /etc/passwdфайле.
  • Добавить запись для группы в /etc/groupфайле.
  • Создайте домашний каталог для добавленного пользователя.
  • Установите новый пароль пользователя с помощью passwdкоманды.

Я проверил вышеуказанный подход, и он работал нормально.

Это единственный возможный способ или есть какая-то другая работа для достижения этой цели?

Рамеш
источник
4
Хороший вопрос, но где это будет полезно?
Нидал
1
@Networker, по той же ссылке, которую я разместил в ответе, я также нашел эту информацию. Иногда необходимо создать фиктивные учетные записи, которые не используются людьми. Например, для настройки анонимного FTP-сервера .
Рамеш
2
@ Networker, могут быть практические случаи, это может быть бесполезно. Однако, это все еще полезно в некоторых вопросах интервью, где я изначально получил этот вопрос. serverfault.com/a/225954
Рамеш
1
спасибо за это объяснение, и ваш ответ действительно полезен, я попробую в будущем.
Нидал
2
@Networker: здесь пример использования: WSL Ubuntu на Win10 отказывается работать, жалуется на блокировку файлов и продолжает отказываться работать после удаления указанных файлов (работая с правами root). Бьюсь об заклад, это связано с версией Win10, но я не могу обновить прямо сейчас. Итак, это тот случай, когда я бы использовал этот метод.
runlevel0

Ответы:

13

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

Чтобы создать новую учетную запись вручную, выполните следующие действия:

Редактировать /etc/passwdс vipwи добавить новую строку для новой учетной записи. Будьте осторожны с синтаксисом. Не редактируйте напрямую с помощью редактора. vipwблокирует файл, так что другие команды не будут пытаться обновить его одновременно. Вы должны сделать поле пароля `* ', чтобы было невозможно войти в систему.

Аналогично, отредактируйте /etc/groupс помощью vigr, если вам нужно также создать новую группу.

Создайте домашний каталог пользователя с помощью mkdir.

Скопируйте файлы из /etc/skelв новый домашний каталог.

Исправьте права собственности и разрешения с помощью chownи chmod. -RВариант является наиболее полезным. Правильные разрешения немного отличаются от одного сайта к другому, но обычно следующие команды делают правильные вещи:

  • cd /home/newusername
  • chown -R username.group .
  • chmod -R go=u,go-w .
  • chmod go= .

Установите пароль с помощью passwd.

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

Рамеш
источник
не :следует использовать вместо .отделения имени пользователя от группы?
pqnet
@pqnet да, используйте :.
Джони
tnx @ Рамеш за этот вопрос и материалы.
Картик Недунчезиян