Dünyanın en detaylı ücretsiz FDE + DevOps kütüphanesi: 140 üzeri ders, 70 üzeri lab ve 80 uzun yazı, İngilizce ve Türkçe. Öğrenmeye başla →

İzinler servisimi bozdu: işe yarayan düzeltme sırası

Güncelleme

Erişim kontrol simgesi olarak kapıda asma kilit

Permission denied servis arızaları sabit sırayla: önce tekrar üret, kullanıcıları adlandır, sonra en dar onarımı uygula.

Permission denied bir Linux makinedeki en dürüst hatadır. Olanı tam söyler: bu kullanıcı o dosyayı istedi, mod bitleri hayır dedi. Çoğu mühendis yine de izinleri hata kaybolana kadar genişleterek düzeltir; bir kez çalışır, makineyi kalıcı zayıflatır.

Düzeltme sırası

Servis kullanıcısı tarafından tekrar üret. Başarısız okumayı servis hesabıyla çalıştır ya da yetki geçişi yoksa id ve ls -l çıktısından çıkar. Hiçbir şeye dokunmadan red satırının birebirini notuna kopyala.

İki kullanıcıyı adlandır. Okuyucu (süreç kullanıcısı) ve sahip (dosya sahibi). Sonra geçerli izin sütununu adlandır: user, group ya da other. Bu adımdan önce onarımı tahmin etmek makineleri herkesin okuduğu hale getirir.

En dar onarımı uygula. İki aday çoğu durumu kapatır: okuyucuyu dosyanın grubuna alıp 640 yap, ya da sahipliği okuyucuya geçirip 600 yap. Birini seç, diğerinin neden daha kötü olduğunu bir cümleyle yaz, sonra servis kullanıcısı olarak doğrula.

Çalışılmış örnek: kimsenin okuyamadığı kurgusal yapılandırma

Aşağıdaki bağlam kurgusaldır. Kurgusal deploysvc kullanıcısı /srv/app/config.env dosyasından yapılandırma sunar; dosya bir insan hesabına aittir, mod 600. Dizüstü yenilemesinden sonra dosya yeniden kopyalanır, sahip değişir, servis permission denied ile kırılır.

Servis kullanıcısıyla tekrar üretim red satırını dosyada gösterir. İki kullanıcı deploysvc (okuyucu) ve insan hesabı (sahip); geçerli sütun yalnızca user, group ve other kapalı. Onarım: appconfig grubu kur, deploysvc kullanıcısını ekle, dosyayı appconfig grubuna 640 yap. deploysvc olarak doğrulama okur; alakasız kullanıcı olarak doğrulama hâlâ reddedilir. Dar, kanıtlı, bitti.

Karar tablosu: iki yaygın onarım

DurumOnarımNeden
Dosyayı birkaç servis kullanıcısı paylaşırGrup okuma (chgrp + 640)Tek grup değişimi tüm okuyucuları kapatır, kontrol sahipte kalır
Tek okuyucu, hassas içerikSahiplik değişimi (chown + 600)Yönetilecek grup yok, başkası bir şey kazanmaz
Okuyucu kümesi bilinmiyorÖnce dur ve öğrenKör genişletme sır sızıntısıdır

Kontrol listesi: savunulabilir bir izin düzeltmesi

  1. Red satırının birebiri notunda.
  2. Okuyucu, sahip ve izin sütunu adlandırılmış.
  3. Reddedilen alternatifin bir yazılı gerekçesi var.
  4. Servis kullanıcısıyla doğrulandı, alakasız kullanıcıyla hâlâ reddediliyor.

İlgili okuma

Net yanıtlar

Sık sorulan sorular

Neden chmod 777 yapıp geçmiyoruz?

Beş dakikalık teşhisi kalıcı açık kapıyla takas edersin. Sonraki denetim, sonraki olay ya da sonraki ekip arkadaşı öder.

Önce chown mu chgrp mi?

Hiçbiri. Önce tekrar üret ve iki kullanıcıyı adlandır; grup okuma ile sahiplik değişimi arasındaki seçim bundan sonra gelir.

Düzeltmeyi nasıl kanıtlarım?

Root olarak değil, servis kullanıcısı olarak doğrula. Servis hesabı okuyabiliyor ve başkası erişim kazanmadıysa iş bitmiştir.

Read this page in English

Okumayı sertifikaya dönüştürün

Bu yazı ücretsiz saha notudur. Sınavlar tarihli oturumlarda, 15 kişilik sınıflarda yapılır; tek fiyat tek denemeyi kapsar. Derslerin tamamı ücretsizdir.