Sormadan passwd kullanarak kullanıcı şifreleri nasıl ayarlanır?


21

Bir sisteme çok sayıda kullanıcı eklemek için bir komut dosyası yazıyorum. Bunun bir kısmı, her kullanıcı için varsayılan şifre ayarlamayı içerir. Kullanıcıların şifrelerini, benden önce şifreyi sormadan nasıl ayarlayabilirim?

Maalesef passwd, ayarlanacak yeni şifreyi belirten bir argüman almıyor gibi görünüyor. Ubuntu 11.10 kullanıyorum.

Yanıtlar:


22

Usermod'u deneyin:

usermod --password PASSWORD USERNAME

Tek şey, önce oluşturmanız gereken önceden şifrelenmiş bir şifre dizesine ihtiyaç duymasıdır.


1
... mkpasswd kullanarak üretebiliyorum. Mükemmel, teşekkürler!
Jake Petroules

16
Şifrelenmiş parolayı oluşturmak için openssl komutunu da kullanabilirsiniz. Örneğin:usermod --password $(echo my_new_password | openssl passwd -1 -stdin) USERNAME
Eric Smith

1
Üç yıl çok geç. @EricSmith cevabını yapamadım, ama işe usermod --password $(openssl passwd -1 {password}) {username}
yarayan

13

chpasswdKomuta bakmalısınız (linux lezzetinizde mevcutsa):

echo 'userid:newpasswd' | chpasswd

Veya her bir hesap için ayrı bir satırda userid: passwd dosyasını listeleyen bir dosyaya erişebilirsiniz.

Bu kadar.


Bu benim için çalıştıDockerfile
Vishrant

1

Eric Smith'in fikrinden esinlenerek birleştirme openssl passwdve usermod -pkomuta etme çalıştı. Tuz değeriyle birlikte parolanın karma değerini oluşturun.

$ openssl passwd -1  -salt 5RPVAd clear-text-passwd43
$1$5RPVAd$vgsoSANybLDepv2ETcUH7.

Ardından, şifrelenmiş dizeyi usermod'a kopyalayın. Tek bir alıntı ile sardığınızdan emin olun.

$ usermod -p '$1$5RPVAd$vgsoSANybLDepv2ETcUH7.' root

Gölge dosyasında kontrol edin.

$ grep root /etc/shadow
root:$1$5RPVAd$vgsoSANybLDepv2ETcUH7.:17774:0:99999:7:::

0

Parola eskime özelliğini kullanmalı ve kullanıcıları ilk girişte parolalarını değiştirmeleri için ayarlamalısınız. Bu makaleye bakın .


Bunlar yalnızca FTP hesapları olarak düşünülmüş, ancak iyi tavsiye niteliğindedir. ;)
Jake Petroules

0
(echo user; echo password) | passwd

benim için çalışır fiziksel konak ve konteyner, çeşitli işletim sistemleri (ubuntu xenial, biyonik, debian9,10, centos75,76, coreos)

echo user:password | chpasswd

bazı işletim sistemlerinde çalışır, ancak debian9,10 gibi bazı işletim sistemleri can not connect to /var/run/nscd/socketparolayı nerede sakladığını belirlemek için /etc/nsswitch.conf komutunu kullandığından bir hata gösterir .

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.