/ Etc / group'ta ikinci alanın anlamı nedir?


18

Örnek bir /etc/groupdosya aşağıdaki girişleri içerir:

root:*:0:
adm:!:4:logcheck
antoine:x:1000:

Okuduğum man sayfaları (Debian ve OSX) ikinci alanın bir grup şifresi saklamak olduğunu söylüyor. Nadiren kullanıldıkları için, boş bırakmak yerine genellikle bir yıldız işareti *veya a xyerleştirilir.

shadowAdam sayfası da bu ikinci alan sonucunu depolamak gerektiğini söylüyor cryptfonksiyonu. Geçersiz bir sonuç ( *veya gibi !) saklanırsa , parola kimlik doğrulama yöntemi olarak kullanılamaz.

Bu groupdosya için de geçerli mi? Neden dosyamda grouphepsi aynı anlama gelen 3 farklı karakterle karşılaşıyorum ? Hepsini güvenli bir şekilde değiştirebilir miyim *?


Hepsini değiştirerek ne başardınız *?
jordanm

!Şu anda yönettiğim 10+ üzerinden tek bir sunucuda tek bir grup için kullanılmakta olduğunu görüyorum . Bazı kontrol komut dosyalarının basitliği için, her zaman aynı karaktere sahip olmak işleri temizler. Tabii ki aslında aynı anlama geliyorsa.
Tonin

Yanıtlar:


28

Bunu düşünüyoruz !, *ya xburada özel bir anlamı vardır ve bu nedenle aralarında bazı ayrım olabileceğini endişe yaratıyor.

Gerçek şu ki, bu karakterler basitçe seçildikleri için seçildi, en azından Batı gözlerine. Bu karakterler eksik bir değeri, bir istisna durumunu veya bir uyarıyı belirtir. Buraya koyabilir boogaboogave tamamen aynı etkiye sahip olabilirsiniz .

Bunun nedeni, Unix tipi sistemlerde parolaların işlenme biçimidir. Sistem bir şifre girişi aldığında, bunu hash eder ve saklanan hash ile karşılaştırır. Bu nedenle, burada önemli olan tek şey, geçerli bir parola karması olmayabilecek bir karakter veya karakter dizisi kullanmanızdır. (Ayrıca bariz nedenlerden dolayı bir kolon içermemelidir.)

Bu karakterler arasında çekirdek işletim sisteminin bakış açısından bir fark olmamasına rağmen, bazı kurallar var:

  • Linux pwconv(8)programı gördüğünde x, "Bu genel şifre karmasını daha önce gölge şifre dosyasına taşıdım" anlamına gelir.

    (Cennet yardým, sizi ya da dönüştürme günler Çünkü pratikte önemli bir durum değildir dan gölge parolalar) artık arkamızda.

  • Bir kullanıcıyı kullanıyorsanız usermod -Lveya passwd -lkilitlemek için !özel bir anlamı vardır, /etc/shadowçünkü "bu hash'ı kırın, böylece artık eşleşmez" kuralı budur.

    Depolanan karmaya başka bir karakter eklemek de onu bozacaktır. Bu kongre ihlal sadece önleyen usermod -Uveya passwd -ugelen açma için kullanıcı adı. Aynı derecede doğrudur, sahte bir karakter ekleyerek elle kilitlediğinizden, kaldırarak elle kilidini açabilirsiniz.

    Bununla birlikte, tüm bunlar bu soru ile ilgili sadece önemsiz şeyler. Orada hayır groupmod -Lya gpasswd -ldolayısıyla hayır, !kongre /etc/group.

    Daha önemsiz: eğer edilmektedir elle kilit kullanıcı hesaplarına gidiyor, sen uzak durmalısın [A-Za-z0-9/\]bu karma için yasal karakter olduğundan, sette. Bu bir sebep usermodkullanımları !yerine burada x.

/etc/groupKendini daha iyi hissettirirse, tüm şifre alanlarını normalleştirirken yanlış bir şey görmüyorum . Bunu yaparak, zaten bu dosyaları elle hacklemekten mutluluk duyduğunuzu söylüyorsunuz, bu yüzden muhtemelen ayrımları önemseyen araçları kullanacaksınız. Ne olursa olsun, değişikliğin günlük sistem işletimi üzerinde bir etkisi olmayacaktır.


Tam cevabınız için teşekkürler. Şu anda sunucularımdaki kullanıcıları ve grupları kontrol etmek için komut dosyaları yazarken, bu alanda başka bir karakter veya karakter dizisi bulunup bulunmadığını da bilmek istedim. Cevabınızdan ve o kadar da önemsiz olmayan detaylardan, bu konuda çok daha iyi bir görüşüm var. Tekrar teşekkürler!
Tonin

1
Komut dosyası oluşturmak için muhtemelen aradığınız getpwent(3)ve arkadaş olmanız gerekir . Diğer tüm Unix sysadmin odaklı kodlama dillerinde olduğu gibi Perl de standart kütüphanesinde bunlar için sarmalayıcılara sahiptir. Böyle bir paketleyici olmayan bir dil kullanıyorsanız, bu ticaret yapmak için iyi bir bahane olacaktır. :)
Warren Young

Hala neredeyse altı yaşında olan şeyleri okuyorsanız ... Cevabınız için teşekkür ederim, insanların bazı şeyleri kullanmalarını xve *kullanılmayan bir şifre alanını işaretlemek için bazı tarihsel nedenler görüyorum . Sadece merak ediyorum ... adam sayfası alanın çok iyi boş bırakılabileceğini söylüyor (özellikle veritabanı alanında NULL olarak adlandırılabilir - özellikle Oracle'da NULL ve boş dizeyi aynı olarak tanımlar). Öyleyse, / etc / group'a geri dönelim: Neden alanı boş bırakmak yerine xveya !veya kullanmalı *? İki ardışık iki nokta üst üste bu karakterlerin yanı sıra öne çıkıyor. Önemli değil - sadece meraklı
mathguy

1
@mathguy: Boş bir parola alanı "parola yok" anlamına gelir, hiçbir zaman gerçek parola ile eşleşemeyen bir karakter içeren parola alanıyla aynı şey değildir. Çoğu Unix sistemi grup parolaları kullanmadığından, buradaki fark olmadan bir ayrımdır, ancak çoğu Linux sisteminde olduğu gibi sizi rahatsız edecek bir alışkanlık geliştirmek istemezsiniz /etc/shadow. Ayrıca, çift kolonun da aynı derecede açık olduğu fikrini reddediyorum. Çabuk, burada kaç boş alan var ::::::? Şimdi kaç tane :x:*:!:x:*::? Aynı sayıda sütun, ama farklı cevaplar, güveniyorum.
Warren Young
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.