useradd / etc / shadow içindeki şifreleri şifrelemiyor


20

Vsftpd için yeni FTP kullanıcıları oluşturmaya çalışırken bu sorunu çözdüm. Aşağıdaki komutla yeni bir kullanıcı oluşturduktan ve FileZilla ile giriş yapmaya çalıştıktan sonra "yanlış şifre" hatası alırdım.

useradd f -p pass -d /home/f -s /bin/false

Bunu yaptıktan sonra, / etc / shadow içeriği

f:pass:1111:0:99:2:::

Aşağıdaki komutu çalıştırıp aynı geçiş kartını sağladığımda

passwd f

/ etc / shadow içeriği

f:$1$U1c5vVwg$x5TVDDDmhi0a7RWFer6Jn1:1111:0:99:2:::

Şifrenin passwd çalıştırdığımda gerçekleştiği , ancak useradd üzerinde olmadığı anlaşılıyor

Daha da önemlisi, aynı kimlik bilgileriyle FTP'ye giriş yapabiliyorum.

CentOS 5.11, FTP için vsftpd ve FTP Erişimi için FileZilla kullanıyorum

/ var / log / secure şunları içerir:

Dec 17 useradd[644]: new group: name=f, GID=511
Dec 17 useradd[644]: new user: name=f, UID=511, GID=511, home=/home/f, shell=/bin/false

-p passUseradd'a geçtiğimde neden çalışmıyor ? Çalışması için ne yapmam gerekiyor?


Orada bir soru görmüyor musun? - Bu tür şeyler PAM üzerinden yönetilir ve genellikle giriş yapılır/var/log/secure
HBruijn

@HBruijn / var / log /
secure'a

2
Gerçekten mi? İlgili kılavuz sayfası tarafından açıkça cevaplanan bir soru için +12?
CVn

O Not şifre karma, $1$MD5 gösterir kullanılır . MD5, şifreler için korkunç olmasa da , bu günlerde zayıf taraftadır. Bu tamamen ayrı bir soru, ama kesinlikle daha güçlü bir karma işlevine geçmeyi düşünmenizi tavsiye ederim.
CVn

2
Yan not: şifreler /etc/shadowşifreli değil karma
Tobias Kienzler

Yanıtlar:


43

Bu amaçlandığı gibi çalışıyor. useraddKomutu kullanarak bir parola ayarlamak istiyorsanız, parolanın karma sürümünü vermeniz gerekir useradd.

Dize pass, içindeki karma parola alanının biçim ölçütlerini karşılar /etc/shadow, ancak bu dizeye gerçek parola karması olmaz. Sonuç olarak, tüm amaç ve amaçlar için bu hesap bir parola gibi davranır, ancak bu parolaya erişmek için kullanmaya çalıştığınız herhangi bir parola doğru parola olmadığı için reddedilir.

man useraddVeya useradd belgelerine bakın :

-p, --password ŞİFRE

Crypt (3) tarafından döndürülen şifreli parola . Varsayılan şifre devre dışı bırakmaktır.

Not: Parola (veya şifrelenmiş parola) işlemleri listeleyen kullanıcılar tarafından görüleceği için bu seçenek önerilmez.

Parolanın sistemin parola ilkesine uyduğundan emin olmalısınız.


32

manuseradd :

   -p, --password PASSWORD
       The encrypted password, as returned by crypt(3). The default is to
       disable the password.

Karma bir şifre geçirmeniz gerekiyor.
Düz metin şifre değil.


16

useraddsizden şifrenin karmasını değil şifrenin karmasını iletmenizi bekliyor. Komuta karma bir şifre sağlamak için komutunuzda aşağıdaki varyasyonu kullanabilirsiniz useradd:

useradd f -p "$(mkpasswd --method=sha-512 'pass')" -d /home/f -s /bin/false

Kullanılabilir yöntemleri bulmak için şunu kullanın:

mkpasswd --method=help

Parolayı komut satırına geçirmekten kaçınmak için, parolayı bir dosyaya koyun (bir düzenleyici kullanarak ve kullanmıyor echoveya benzeri değil ) ve bunu yapın:

useradd f -p "$(mkpasswd --method=sha-512 --password-fd=0 < filename)" -d /home/f -s /bin/false

Bu, karma parolayı komut satırına geçirir, ancak düz metin olanı geçirmez.

mkpasswdexpectpaketi ile birlikte gelir .


2
MD5 kullanmayın! SHA-2 kullanın
Josef

9
Bunun geçici olarak çeşitli çekirdek arabirimleri aracılığıyla parolayı açığa çıkardığını unutmayın (herhangi bir işlemin başka bir işlemin komut satırını okumasına izin verilir) ve $ HISTORY veya benzeri mekanizmalar aracılığıyla düz metne diske kaydedilmesine neden olabilir.
CVn

@ MichaelKjörling: Çok iyi bir nokta. Lütfen düzenlenen cevabıma bakın.
sonraki duyuruya kadar duraklatıldı.

1
Tabii ki, hala düz metin parolasını diskte saklıyorsunuz. En azından bu, sistem yöneticisine bir seçenek sunuyor. Belki de bu noktada ilk başta sadece bir kukla şifre kullanıyoruz ve hemen passwdbaşka
bir

2
Kesinlikle Dennis, çok daha iyi, ama şifre hala düz metin olarak diskte bitiyor. Bazı durumlarda ve belirli tehdit modellerinde bu gerçek bir sorun olabilir. O değil sahip olmak.
CVn
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.