Adduser'ı etkileşimli olarak çalıştır


198

adduserKomutu bir kabuk betiği aracılığıyla bir kullanıcı (devre dışı parola ile) eklemek için kullanmak istiyorum .

Varsayılan olarak, addusersizden çeşitli değerler ister (örneğin, Tam Ad). Bu değerleri komut satırı üzerinden göndermenin bir yolu var mı? Yoksa useraddyerine ihtiyacım olacak mı?

Yanıtlar:


262

Etkileşimli kısmı --gecosatlamak için bu seçeneği kullanın chfn.

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

Hepsi erkek sayfasında. En belirgin formülasyon değil tho.

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

GECOS alanı şu şekilde virgülle ayrılmış bir listedir: Full name,Room number,Work phone,Home phonebu adam sayfasından bahsetmesine rağmen finger information Ayrıntılar - Vikipedi

Umarım bu size yardımcı olur.


41

useradd Ayrıca kullanıcılar ekleyebilir ve yerleşik olarak herhangi bir istemde bulunmadığı görülmektedir.

useradd -m -p <encryptedPassword> -s /bin/bash <user>
  • -m, --create-home: Kullanıcı ana dizini oluştur
  • -p, --password: Kullanıcı şifresini belirtin; devre dışı bırakmak için atla
  • -s, --shell: Oturum açan kullanıcı için varsayılan kabuk

    Blank, içindeki SHELLdeğişken tarafından belirtilen varsayılan giriş kabuğunu kullanır ./etc/default/useradd

  • Değiştirin <user>giriş adıyla
  • Değiştirin <encryptedPassword>ile şifrelenmiş parola

Bir karma şifre oluşturma:

Orada bir sürü bir karma şifreyi oluşturabilir crypt3 uygulamaların. Her şey senin şifreli parolan.

Sha-512 Tabanlı

Sonuçta ortaya çıkan çıktı formatı: karma mekanizması ( $6sha-512 için), rasgele tuz (ikinci dolar işaretinden sonraki sekiz byte $ASDF1234), geri kalanı yüküdür.

  • mkpasswd mkpasswd -m sha-512

    ( paket mkpasswdtarafından sağlanır whois)

DES tabanlı:

Sonuçta ortaya çıkan çıktı formatı: ilk 2 bayt sizin tuzunuz, geri kalanı ise yük kapasitesidir. Her şey senin şifreli parolan.

  • mkpasswd: mkpasswd( whoispaket tarafından sağlanır )
  • openssl: openssl passwd -crypt
  • perl: perl -e "print crypt('password');"
  • piton: python3 -c 'import crypt; print(crypt.crypt("password"))'

1
Bahsettiğiniz seçenekler adduserUbuntu'nun (yeni) sürümünde mevcut değil .
ᴠɪɴᴄᴇɴᴛ

1
@ ᴠɪɴᴄᴇɴᴛ adduserfarklı useraddolduğunu biliyorum, kafam karıştı .
ThorSummoner

1
Hata! Neredeyse adaşını kullandığın için gerçekten özledim… komut satırı ad alanını koruyan bir BDFL yok mu? ; p
ᴠɪɴᴄᴇɴᴛ

1
@ mum007 Bu yalnızca genel bir öneridir, neyin yanlış olduğunu görmek ve burada SO ya da Google’da hata mesajlarınızı aramak için ssh komutlarınıza eklemeyi -vveya -vvveya eklemeyi deneyin -vvv.
ThorSummoner

1
@KovacsAkos bunu deneyin: sudo sed -i"" -e "s/PasswordAuthentication no/PasswordAuthentication yes/" /etc/ssh/sshd_configvesudo service ssh restart
JSBach
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.