GNU/Linux >> Znalost Linux >  >> Linux

Jak mohu přiřadit počáteční/výchozí heslo uživateli v Linuxu?

Můžete použít chpasswd udělat to takto:

echo "username:newpassword" | chpasswd

Můžete použít kanál chpasswd z jiných programů než echo , pokud je to vhodné, ale bude to stačit.

Upravit:Chcete-li vygenerovat heslo v rámci skriptu shellu a poté jej nastavit, můžete udělat něco takového:

# Change username to the correct user:
USR=username
# This will generate a random, 8-character password:
PASS=`tr -dc A-Za-z0-9_ < /dev/urandom | head -c8`
# This will actually set the password:
echo "$USR:$PASS" | chpasswd

Další informace o chpasswd , viz http://linux.die.net/man/8/chpasswd

(Příkaz pro vygenerování hesla byl z http://nixcraft.com/shell-scripting/13454-command-generate-random-password-string.html)


Pro vygenerování náhodného hesla (v tomto případě 16 znaků) můžete použít OpenSSL:

# 1000 bytes should be enough to give us 16 alphanumeric ones
p=$(openssl rand 1000 | strings | grep -io [[:alnum:]] | head -n 16 | tr -d '\n')

Poté vložte hashované heslo na useradd nebo usermod

# omit the "-1" if you want traditional crypt()
usermod -p $(openssl passwd -1 "$p") <username>

EDIT:

Od zveřejnění tohoto v roce 2012 přidaly novější verze OpenSSL funkcionalitu do openssl passwd příkaz. Místo použití -1 možnost získat hash založený na MD5, moderní verze také podporují -5 pro hash založené na SHA256 a -6 pro hash založené na SHA512.

Připsání připsání:Generování hesla je přizpůsobeno podobné metodě, která používá /dev/urandom místo openssl .


useradd by mělo fungovat (udělal jsem to na Ubuntu). Možná zkontrolujte, zda jsou všechny vaše argumenty správné (existují skupiny, cesta je správná k bash). Příkaz můžete spustit pouze s heslem a uživatelem a poté použít userdel odstranit a pak to zkusit znovu s více parametry, abyste viděli, co způsobuje problém (přístup hrubou silou).

Existují také noví uživatelé (viz manuálová stránka), alespoň pod Ubuntu, kde mu dáte soubor s passwd file like info, včetně hesel ve formátu prostého textu a ono vytvoří ty uživatele. Pěkný způsob, jak dělat mnoho uživatelů najednou.


Linux
  1. Jak zajistit, aby se uživatelská hesla zobrazovala jako čistý text v Linuxu?

  2. Kolika Unixových skupin může být uživatel členem?

  3. Jak mohu změnit výchozí skupinu uživatele v systému Linux?

  1. Jak spravovat vypršení platnosti uživatelského hesla a stárnutí v Linuxu

  2. Jak změnit, odebrat nebo zakázat uživatelské heslo v systému Linux

  3. Jak mohu vyhledat uživatelské jméno podle id v linuxu?

  1. Jak přidat uživatele Unix/linux do skriptu Bash?

  2. Jak změnit nebo nastavit uživatelská hesla v Linuxu

  3. Jak mohu automatizovat vymazání a resetování domovského adresáře uživatele systému Linux na výchozí?