Birisi / etc / shadow için nasıl şifreli bir şifre oluşturmalıdır?


9

Subversion veri havuzu erişimi için bir Linux kutusunda yeni bir hesap oluşturuyorum ve şifreyi yeni kullanıcıya gönderebilirim. Ancak, bu yeni kullanıcının sevdiği şifreyi doğrudan / etc / shadow dosyasına kopyalayabildiğim / yapıştırabileceğim bir formatta şifrelemesi için bir komut satırı yardımcı programı olduğunu düşünüyorum.

Bu şifreli bir şifre oluşturmak için bu yeni kullanıcının konsolda (örn. Bash) çalıştırması gereken tam komut neydi?

GÜNCELLEME: Kullanıcının makinede oturum açmasına izin verilmez ve hesap yalnızca svn + ssh: // erişimi için kullanılır. Bu nedenle, kullanıcı bunu değiştiremez.


Kullanıcı bunu elle yapamayacağı için bash komut dosyası soruyor.
Tim Post

Yanıtlar:


15

kullanıcı bilgisayarında şöyle bir şey yürütebilir:

echo "password"|openssl passwd -1 -stdin

ve sonra çıktıyı göndeririz.


+1 tam olarak aradığınızı yapar.
Antoine Benkemoun

Bu komut her çağırışımda neden farklı bir değer veriyor?
Egon Willighagen

2
Çıktının biçimi $ id $ salt $ şifreli. Farklı kimlik ve farklı tuz size farklı bir şifreli dize verir. Kimlik kullanılan algoritmadır: 0-DES, 1-> MD5, 2a-> Blowfish, 5-> SHA-256, 6-> SHA512
Gonzalo

Tamam, bu yüzden (her zaman aynı olan) belirli bir kimliği nasıl tetikleyeceğimi bulmam gerekiyor ve tuz (her çağrıda değişti) ... mantıklı.
Egon Willighagen

2

Parolanın gölgedeki biçimi değişebilir. MD5 veya eski eski DES3 olarak ayarlayabilirsiniz veya ... Kullanıcıya bir şifre göndermek ve onu ilk girişte değiştirmeye zorlamak ( # chage -d 0 username)


1

Parolayı şifrelemelerini ve size göndermelerini sağlamak yerine, neden yalnızca yazmalarını söylemesiniz:

passwd

İstediğiniz her şeyi, sizin için ekstra bir iş yapmadan şifrelerini değiştirebilecekleri ek avantajla yapacak.

DÜZENLEME: göre bu , güya sen Debian / Ubuntu için alabilirsiniz makepassword adında bir komut var.


Çünkü bu, kullanıcının zaten oturum açmış olmasını gerektirir. OP , kullanıcı ilk kez oturum açmadan önce şifreyi güvenli bir şekilde ayarlamak için bir çözüm ister .
Daniel Pryden

1
Rastgele bir şifre oluşturmak ve giriş yaptıkları zaman bunları değiştirmelerini sağlamak, bir şifre oluşturup manuel olarak eklemek kadar güvenlidir.
Brendan Long

Kullanıcı aslında hiçbir zaman giriş yapmaz (shell: / bin / false) ve sadece SVN okuma / yazma erişimine izin verir ...
Egon Willighagen

2
Kabuğu ayarlayabilirsiniz: / usr / bin / passwd: D
Brendan Long

1
Demek istediğim son yorum şaka gibi, ama görünüşe göre işe yarayacak: markmail.org/message/ekuxvnhdagywy4i5
Brendan Long

0

/ etc / passwd ve / etc / shadow komutlarının normal komut satırı araçlarıyla (örn. grep, awk, sed, tr, vb.) belirtilmesi çok kolaydır.

İlginç olan şey / etc / shadow içindeki gerçek şifre karması alanıdır, öneki size şifrenin nasıl şifrelenmiş olduğunu gösterir. İnsan (5) gölgesinden:

The password field must be filled. The encrypted password consists of 13 to 24 characters from the 64 characters alphabet a thru z, A
thru Z, 0 thru 9, \. and /. Optionally it can start with a "$" character. This means the encrypted password was generated using another
(not DES) algorithm. For example if it starts with "$1$" it means the MD5-based algorithm was used.

Nasıl şifrelenmiş olduğu, yüklü işletim sisteminin kaç yaşında olduğuna bağlıdır. / Etc / shadow içindeki ikinci alana özellikle dikkat etmek önemlidir.

Tespit edilmesi çok kolay olduğu için, sistemin kullandığı hash'i takip etmek için her türlü çabayı göstermelisiniz.



0

Bu şifreleri komut satırı üzerinden oluşturmanın bir yolu var mı? Evet, debian paket makepasswd ile (ancak yalnızca MD5 için):

echo "mypasswd" | makepasswd --crypt-md5
$1$r2elYKyB$vUr/Ph.brKTldM2h2k8J5.

Ancak bu / etc / shadow içine kopyala ve yapıştır ile çalışmaz Bazı linux dağıtımlarında komut dosyası aracılığıyla şifreyi değiştirmek için şunları kullanabilirsiniz:

echo oracle:mypasswd | chpasswd

veya

echo -n mypasswd | passwd --stdin oracle
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.