/ Etc / shadow dosyasını ASLA doğrudan düzenlememelisiniz?


10

UNIX ve Linux Stack Exchange'deki başka bir cevapta Michael D Parker , bunu yapmanın "güvenli" olduğunu söyleyen birine yanıt olarak şunları yazdı :

Genellikle / etc / shadow dosyasını ASLA doğrudan düzenlememelisiniz.

Yani:

Neden gerektiğini asla düzenleme /etc/shadowdosyayı doğrudan?


çünkü şifrelerin şifrelenmiş.
Milind Dumbare

7
Çünkü onu kıracaksın. Belki bugün değil, belki yarın değil, yakında
ctrl-alt-delor

1
Sorunuzu (düzenleyerek) neden böyle olduğunu düşündüğünüz bir bağlantıyla güncelleyin. Ben düzenleme edilmiş /etc/shadow, sorunsuz 20 yılı aşkın bir süredir hiç . Ve lütfen iki dakikalık yardım → tur , özellikle "dikkat dağıtıcı", "chit-chat" okumak için çok nazik olun . Bu, bir soruda, ilgili "ayrıntılar" ı okumaktan daha fazla, ilgisiz chit-chat okumak zorunda kaldım.
Anthon

"genellikle asla yapmamalısınız", "asla" ile aynı değildir.
roaima

2
@captcha Saçmalık. Bunu yapmamak için iyi nedenler var. Çünkü sen cahil diğer insanları aramak için hak olmayan herhangi düşünemiyorum. Lütfen iyi ol .
Gilles 'SO- kötü olmayı kes'

Yanıtlar:


15

Orada düzenleme değil birkaç nedeni vardır /etc/passwd, /etc/shadow, /etc/group, /etc/gshadowveya /etc/sudoersdirekt ziyade kullanmak vipw, vigrya da visudo:

  • Bir sözdizimi hatası yaparsanız, artık oturum açamayabilir veya root olamayabilirsiniz. ViXXX araçlarının kullanılması bu riski azaltır, çünkü araç dosyayı değiştirmeden önce sağlık kontrolleri yapar.
  • Dosya aynı anda düzenlenirse, son kaydedilen kişi önceki düzenlemelerin yaptığı değişiklikleri geçersiz kılar. Bu dosya ve dosyasını düzenleyerek bir yönetici hem kullanıcı olarak adlandırılan çünkü değiştirilen içerir passwd, chshya chfnda hesap hakkında değişiklik şeye. Uygun aracı kullanırsanız, eşzamanlı değişiklikler önlenir. Bu, çoğunlukla birden çok kullanıcılı sistemler için bir endişe kaynağıdır, bu yüzden tek kullanıcı sizseniz.
  • Bazı sistemlerde (çoğunlukla veya sadece * BSD), vipwbirden fazla dosyayı (örn. /etc/passwdVe /etc/master.passwd) günceller . Bu Linux için geçerli değildir.
  • vipwotomatik olarak bir yedek oluşturur ( passwd-,, shadow-…). Yalnızca bir sonraki düzenlemeden önce fark ederseniz faydalıdır, bu nedenle sürüm kontrolü ve yedeklemelerin yerini almaz, ancak hatanızı yakında fark ederseniz çok güzel olabilir. visudobunu yapmaz.

Sen edebilirsiniz dosyayı doğrudan düzenleyin. Sadece gerçek bir avantaj olmadan ek bir risk alacaksınız.


Nokta # 2, kullanıcıların kendi şifrelerini, kabuklarını ve neyi değiştiremedikleri herhangi bir sistem için endişe kaynağıdır . Birden çok yönetici bir ön koşul değildir. ☺
JdeBP

3
Ve BSD'lerde bununla ilgili en büyük problem, bunun /etc/shadowmevcut olmaması ve /etc/passwddüzenlemek için yanlış dosya olması, çünkü kaynak dosya değil, oluşturulan bir dosyadır. ☺
JdeBP

@JdeBP Bu hiç de sorun değil ve BSD'ler master.passwd'de saklanıyor
Rob

6

Buna bakmanın temel olarak iki yolu vardır:

  1. Belirtilen araçları kullanmadan belirli dosyaları asla düzenlemeyin çünkü muhtemelen ne yaptığınızı bilmiyorsunuz ve sorun değil çünkü adı geçen araçlar daha iyi bilir ve her zaman kullanılabilir durumdadır.

  2. Daha gerçekçi olarak, bunu düşünürken şimdi de kırabilirsiniz, böylece bir yedek kopya ile önceden planlayabilir ve yaptıktan sonra farklılıkları karşılaştırabilirsiniz, çünkü sisteminizin temel ilk loginsürecinin giriş ve çıkışları hakkında temel bilgiler muhtemelen değerlidir daha sonra başka bir şekilde kırdığınızda sahip olmak ve söz konusu araçlar size yardımcı olmaz.

Sanırım hangisini önerdiğimi söyleyebilirsin. Bir konu sizi bir an bile ilgilendirirse, o meraktan faydalanabileceğinizi ve siz de o sırada yeni bir beceri kazanabileceğinizi söylüyorum. Özellikle böyle biri - shadowdosya oldukça temel bir formatta ve yanlışlıkla bildikten sonra öğrendiğim az şey - ve bu dosyada yaptığım bir düzenlemenin sonucu değildi.

Aksine benim sorunum bir paket yönetim veritabanı ile başka bir hata sonra oluştu paket yöneticisi bir yedek kaydetmeden üzerine yazmak için yol açtı ve sistemdeki tüm kullanıcılar kaput yapıldı . Onarımlardaki daha cahil bungling girişimleri, hasarı sadece diğer ilgili dosyalara yayar ve /etcmetin dosyalarının çoğunu ( umulmadıklarından daha yeni) bir yedeklemeden geri yüklemek zorunda kaldım .

Bunu yaptıktan ve çalışılabilir durumda olduğumu doğruladıktan sonra, kasten hepsini titizlikle yapmaya karar verdim. Ve bir kez daha. Tüm bunlar birkaç ay önceydi, ancak bugün loginsistemimdeki tek bir günlük dosyasının bir keresinde bir sorunun kaynağını teşhis edebileceğimden ve herhangi bir temel editörle (ve belki de bir bakışta)man 5 problem_file ele alabileceğimden eminim veya ikisinde ) , etkilenen köklere yalnızca temel erişim sağlamıştır. Ucuz bir şekilde kazanılmadı - bir günün çoğunu aldı - ve ilgili yapılandırma dosyaları dizinin her tarafına yayıldı (ve hatta bazıları - Linux PAM'ler gibi /var/run/no_login- diğer bağlarda) - ama yapmaya değdi. Ve biraz öngörü ile daha ucuz olabilirdi .

Bu hikayenin ana fikri muhtemelen olmasıdır değil gibi kritik yapılandırmaları biçimi bu iyi bir şey shadow, passwd, groups, shellsbiz ya yollarla çalışmalarımızı düzeltmek veya olmayabilir özel düzenleme araçları kullanmak zorundadır bize çok opak olmalı ve sadece basit bir değişikliği etkilemeyi anlamıyoruz. En azından, bildiklerimizden farklı olarak tam olarak ne yapacaklarını anlamak bizim zamanımıza değer.

Bununla birlikte, muhtemelen , içinde dosya yapma riski taşıdığımız ve daha sonra onlara kontrol edebileceğimiz, çift kontrol edebilen araçların olduğu tipografik veya basit sözdizimsel hataları kaydettiğimiz söz konusu dosyaları düzenlemeye yeterince aşina olduğumuzda iyi bir şeydir. suç düzenlemelerimizi uygulamadan önce çalışma şeklimiz ve nedenlerle zaten anlıyoruz.


3

Karşı nokta - geçerli şifrelerini bilmeden veya yenilerini atamadan bir grup kullanıcı oturumunu bir sunucudan diğerine kopyalamanız gerekiyorsa, karma şifre alanını eklemek için / etc / shadow öğesini doğrudan düzenlemeniz gerekir. vipw bu alana dokunmanıza izin vermez, sadece "*"

Güncelleme: veya bu durumda chpasswd -e "karma parola" kullanın, ancak bu yalnızca doğrudan bilgisayarda yapılabilir. Henüz bir makineye (örneğin, Sanal Makine) dağıtılmamış bir dizi dosyayla çalışıyorsanız, doğrudan düzenleme tek çözüm olabilir.

Yani genellikle / etc / shadow'u doğrudan düzenlemeden yapmak istediğinizi yapmak için bir araç vardır, sadece ne olduğunu bilmeniz gerekir ...


Veya bir LDAP sunucusu kurabilirsiniz.
Kusalananda

0

Bu dosyaları düzenlemenizin başka bir nedeni, dosya sistemi görüntüsündeki dosyaları başka bir sistemde önyükleme yapacağınız ve önyüklemeden sonra bu sistemde hata ayıklamanız gerektiğidir. Örneğin, arızalı bir devreye alma veya kurtarma modunda kullanılan MAAS eferemal dosya sistemi.

Asla asla deme ... bunu kastetmedikçe.

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.