Uruchom program adduser nieinteraktywnie

156

Chciałbym użyć polecenia adduser , aby dodać użytkownika (z wyłączonym hasłem) za pomocą skryptu powłoki.

Domyślnie adduser pyta Cię o różne wartości (np. Pełna nazwa). Czy istnieje sposób przesyłania tych wartości za pośrednictwem wiersza poleceń? Czy będę musiał zamiast tego użyć useradd ?

    
zadawane Lorin Hochstein 09.01.2012, 14:54
źródło

2 odpowiedzi

211

Użyj opcji --gecos , aby pominąć część interaktywną chfn .

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

To wszystko na stronie man. Nie jest to najbardziej oczywiste sformułowanie.

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

Pole GECOS jest listą rozdzielaną przecinkami: Full name,Room number,Work phone,Home phone , mimo że strona man wspomina finger information Szczegóły - Wikipedia

Mam nadzieję, że to ci pomoże.

    
odpowiedział Zoke 09.01.2012, 15:18
źródło
28

useradd może również dodawać użytkowników i nie ma wbudowanej żadnej formy monitowania.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m , --create-home : Utwórz katalog domowy użytkownika
  • -p , --password : Określ hasło użytkownika
  • -s , --shell : Domyślna powłoka dla użytkownika logującego

    Blank użyje domyślnej powłoki logowania określonej przez zmienną SHELL w /etc/default/useradd

  • Zastąp <user> nazwą logowania
  • Zastąp <encryptedPassword> zaszyfrowanym hasłem

Generowanie hashowanego hasła:

Istnieje wiele implementacji Crypt3, które mogą generować skrót hasło. Cała sprawa to twoje zakodowane hasło.

Na bazie Sha-512

Wynikowy format wyjściowy: mechanizm mieszający ( dla sha-512), losowa sól (osiem bajtów po znaku drugiego dolara $ASDF1234 ), pozostałość to ładunek.

  • mkpasswd mkpasswd -m sha-512

    ( mkpasswd jest dostarczany przez pakiet whois )

Oparte na DES:

Wynikowy format wyjściowy: pierwsze 2 bajty to twoja sól, pozostałość to ładunek. Cała sprawa to twoje zakodowane hasło.

  • mkpasswd: mkpasswd (dostarczony przez pakiet whois )
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Wybierz własną losową dwubajtową sól zamiast 'sa'

  • python: python -c 'import crypt; print crypt.crypt("password", "Fx")'

    /!\ Wybierz własną losową dwubajtową sól zamiast "Fx"

odpowiedział ThorSummoner 31.08.2015, 20:48
źródło

Przeczytaj inne pytania na temat tagów