Vraag Voer adduser niet interactief uit


Ik zou graag de adduser commando om een ​​gebruiker (met uitgeschakeld wachtwoord) toe te voegen via een shellscript.

Standaard, adduser vraagt ​​u om verschillende waarden (bijv. Volledige naam). Is er een manier om deze waarden in te dienen via de opdrachtregel? Of zal ik nodig hebben useradd in plaats daarvan?


158
2018-01-09 13:54


oorsprong


Kijk eens naar de man-pagina voor adduser. Het zal je helpen. - Zoke
@Zoke Ik kon de informatie die ik zocht op de manpagina niet vinden. - Lorin Hochstein


antwoorden:


Gebruik de --gecos optie om de chfn interactief deel.

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

Het staat allemaal op de man-pagina. Niet de meest voor de hand liggende formulering.

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

Het GECOS-veld is een door komma's gescheiden lijst als zodanig: Full name,Room number,Work phone,Home phone, ondanks die man-pagina vermeldt finger information  Details - Wikipedia

Ik hoop dat dit je helpt.


213
2018-01-09 14:18



Ja, ik kan zien hoe ik dat heb gemist. "gecos" is geen voor de hand liggende beschrijving - Lorin Hochstein
1 --gecos is erg verwarrend. - Trevor Sullivan


useradd kan ook gebruikers toevoegen en lijkt geen ingebouwde vorm van vragen te bevatten.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m, --create-home: Maak de home-map van de gebruiker
  • -p, --password: Geef het gebruikerswachtwoord op; sla het over om uitgeschakeld te worden
  • -s, --shell: Standaard shell voor aanmeldingsgebruiker

    Blank gebruikt de standaard login-shell die is opgegeven door de SHELL variabele in /etc/default/useradd

  • Plaatsvervanger <user> met de inlognaam
  • Plaatsvervanger <encryptedPassword> met de versleutelde wachtwoord

Een gehasht wachtwoord genereren:

Er zijn veel van crypt3-implementaties die een gehasht wachtwoord kunnen genereren. Het hele ding is je gehashte wachtwoord.

Sha-512 gebaseerd

Het resulterende uitvoerformaat: het hash-mechanisme ($6 voor sha-512), het willekeurige zout (de acht bytes na het tweede dollarteken $ASDF1234), rest is de payload.

  • mkpasswd mkpasswd -m sha-512

    (mkpasswd wordt geleverd door de whois pakket)

DES gebaseerd:

Het resulterende uitvoerformaat: de eerste 2 bytes is uw zout, de rest is de payload. Het hele ding is je gehashte wachtwoord.

  • mkpasswd: mkpasswd (geleverd door whois pakket)
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password', 'sa');"

    /!\ Kies je eigen willekeurige twee-byte zout in plaats van 'sa'

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

    /!\ Kies je eigen willekeurige twee-byte zout in plaats van "Fx"


28
2017-08-31 18:48



De opties die u noemt bestaan ​​niet voor adduser op mijn (recente) versie van Ubuntu. - ᴠɪɴᴄᴇɴᴛ
@ ᴠɪɴᴄᴇɴᴛ adduser is anders dan useradd, verwarrend weet ik het. - ThorSummoner
Oeps, inderdaad gemist dat je zijn bijna naamgenoot gebruikt ... is er geen BDFL die de naamruimte van de commandoregel beschermt? ; p - ᴠɪɴᴄᴇɴᴛ
@ mum007 Dit is alleen algemeen advies, probeer toe te voegen -v of -vv of -vvv naar je ssh-commando's om te zien wat er mis is en zoek hier je foutmeldingen op SO of Google. - ThorSummoner
@KovacsAkos probeer dit: sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_config en sudo service ssh restart - JSBach