Запустите adduser не в интерактивном режиме

Я хотел бы использовать команду adduser для добавления пользователя (с отключенным паролем) через скрипт оболочки.

По умолчанию adduser запрашивает различные значения (например, полное имя). Есть ли способ отправить эти значения через командную строку? Или мне нужно вместо этого useradd?

275
задан 7 January 2013 в 11:30

2 ответа

Используйте параметр - gecos , чтобы пропустить интерактивную часть chfn .

adduser --disabled-password --gecos "" username

Это все. на странице руководства. Не самая очевидная формулировка.

--gecos GECOS
          Set  the  gecos field for the new entry generated.  adduser will
          not ask for finger information if this option is given.

Поле GECOS представляет собой список, разделенный запятыми, как таковой: Полное имя, Номер комнаты, Рабочий телефон, Домашний телефон , несмотря на то, что на странице руководства упоминается информация о пальцах Подробности - Википедия

Надеюсь, это вам поможет.

314
ответ дан 7 January 2013 в 11:30

useradd также может добавлять пользователей и, похоже, не имеет встроенных подсказок.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m , - create-home : Создать домашний каталог пользователя
  • -p , - пароль : указать пароль пользователя; пропустите, чтобы отключить его
  • -s , - shell : Оболочка по умолчанию для входа в систему пользователя

    Пустое поле будет использовать оболочку входа по умолчанию, указанную в SHELL ] в / etc / default / useradd

  • Замените именем входа
  • Замените на зашифрованный ] пароль

Создание хешированного пароля:

Существует множество реализаций crypt3, которые могут генерировать хешированный пароль. Все это ваш хешированный пароль.

На основе Sha-512

Результирующий выходной формат: механизм хеширования ( $ 6 для sha-512), случайная соль (восемь байтов после второго знак доллара $ ASDF1234 ), остаток - это полезная нагрузка.

  • mkpasswd mkpasswd -m sha-512

    ( mkpasswd предоставляется whois )

На основе DES:

Результирующий формат вывода: первые 2 байта - это ваша соль, остаток - полезная нагрузка. Все это ваш хешированный пароль.

  • mkpasswd: mkpasswd (предоставляется пакетом whois )
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt ('пароль');"
  • python: python3 -c 'import crypt; print (crypt.crypt ("password")) '
52
ответ дан 7 January 2013 в 11:30

Другие вопросы по тегам:

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