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


Subversion deposu için Linux kutusuna yeni bir hesap ayarlıyorum ve şifreyi yeni kullanıcıya gönderebilirim. Ancak, bence bu yeni kullanıcı için şifre / şifrelemeyi doğrudan / etc / shadow dosyasına yapıştırabileceğim bir formatta şifrelemek için bir komut satırı programı olduğunu düşünüyorum.

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

GÜNCELLEME: Kullanıcının makinede oturum açmasına izin verilmeyecek ve hesap sadece svn + ssh: // access için kullanılacaktır. Bu nedenle, kullanıcı kendisini değiştiremez.


8
2017-11-24 16:45


Menşei


Kullanıcı bash komutunu soruyor, çünkü bunu el ile yapamayacağı belli. - Tim Post♦


Cevaplar:


Kullanıcı kendi bilgisayarında aşağıdaki gibi bir şey yürütebilir:

echo "password"|openssl passwd -1 -stdin

ve sonra size çıkışı gönderir.


15
2017-11-24 18:30



+1 tam olarak aradığınız şeyi yapar. - Antoine Benkemoun
Bu komut her dediğimde neden farklı bir değer veriyor? - Egon Willighagen
Çıktının biçimi $ id $ tuz $ şifreli. Farklı kimlik ve farklı tuz size farklı şifreli bir dize verir. Kimlik, kullanılan algoritmadır: 0-DES, 1-> MD5, 2a-> Blowfish, 5-> SHA-256, 6-> SHA512 - Gonzalo
Tamam, bu yüzden belirli bir kimliği nasıl tetikleyeceğimi (her zaman aynı olan) ve tuzun (her aramayla değişti) ne anlama geldiğini anlamalıyım. - Egon Willighagen


Paroladaki gölgenin biçimi değişebilir. MD5 ya da eski güzel DES3 ya da ... olarak ayarlayabilirsiniz. Kullanıcıya bir şifre yollamakta ve onu ilk girişte değiştirmeye zorluyorsunuz (# chage -d 0 username)


2
2017-11-24 16:51





Şifreyi şifrelemek ve size göndermek yerine, neden sadece yazmasını istemiyorsunuz?

passwd

İstediğiniz her şeyi, sizin için ekstra bir çalışma yapmadan şifrelerini değiştirebilecekleri ek avantaj ile gerçekleştirecektir.

EDIT: göre bu, sözde Debian / Ubuntu için alabileceğiniz makepassword adında bir komut var.


1
2017-11-24 16:57



Çünkü bu kullanıcının önceden giriş yapmasını gerektiriyor. OP, şifreyi güvenli bir şekilde ayarlamak için bir çözüm istiyor önceKullanıcı ilk kez oturum açar. - Daniel Pryden
Rastgele bir şifre oluşturuyor gibi görünüyor ve giriş yaptıklarında onları değiştirmek, bir parola oluşturup el ile ekleyerek elde etmek kadar güvenli. - Brendan Long
Kullanıcı asla giriş yapmaz (shell: / bin / false) ve sadece SVN okuma / yazma erişimine izin verir ... - Egon Willighagen
Kabuk ayarlayabilirsiniz: / usr / bin / passwd: D - Brendan Long
Şaka olarak son yorumu kastediyorum, ama görünüşe göre işe yarayacak: markmail.org/message/ekuxvnhdagywy4i5 - Brendan Long


/ etc / passwd ve / etc / shadow her zamanki komut satırı araçları ile (örneğin grep, awk, sed, tr, vb) tokenize etmek çok kolaydır.

İlginç olan şey, / etc / shadow'daki gerçek şifre karma alanıdır, öneki, şifrenin nasıl şifrelenmiş olduğunu size söyler. Adam (5) gölge:

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ş, büyük ölçüde işletim sisteminin ne kadar eski olduğuna bağlıdır. / Etc / shadow'daki ikinci alana özel dikkat göstermesi önemlidir.

Algılamak çok kolay olduğu için, sistemin ne kadar hassa olduğunu takip etmek için her türlü çabayı göstermelisiniz, DES, MD5 vb.


0
2017-11-24 17:05





Neden SU ​​kullanıcı değil ve passwd çalıştırmak?


0
2017-11-24 17:20



Çünkü şifreyi bilmek istemiyorum ... ya da şifrelenmemiş bir biçimde bana göndermesini istiyorum. - Egon Willighagen


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

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

Ama bu kopya ile çalışacak ve / etc / shadow içinde yapıştırın 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

0
2017-11-24 23:16