Comment modifier récursivement les autorisations de fichiers sous Linux

Linux’ta Dosya İzinlerini Tekrarlı Olarak Değiştirme

⌛ Reading Time: 4 minutes

Linux çok kullanıcılı bir işletim sistemi olduğundan, yalnızca yetkili işlemlerin ve kullanıcıların çeşitli dizinlere ve dosyalara erişmesini sağlamak için dosya izinlerini ayarlayan ve yöneten bir mekanizmaya sahiptir. Linux kullanırken, gerekli yetkilere sahip olmadığınızı gösteren “İzin reddedildi” hatası nedeniyle dosya veya dizinleri düzenleyemediğiniz çeşitli durumlarla karşılaşabilirsiniz. Bu öğretici, izin ayarlarınızın alt klasörlere ve dosyalara uygulanmasını sağlamak için Linux’ta dosya izinlerini tekrar tekrar nasıl değiştireceğinizi gösterecektir.

Linux’ta dosya izinleri nasıl kontrol edilir

Bir dosya veya dizin işleminde “izin reddedildi” hatası oluştuğunda, kullanıcı, grup ve diğerleri için ayrılan izinleri kontrol ederek başlayın.

Bunu yapmak için, ls -l emretmek. Örneğin, aşağıdakiler “/var” dizinindeki çeşitli dosya ve dizinler için izinlerdir.

Yukarıdaki çıktı belirli bilgiler içerir.

  1. İlk sütun, dosya ve dizin izinlerini temsil eder. Bu sütundaki ilk harf türü belirtir: d dizin anlamına gelir, l sembolik bir bağlantı anlamına gelir ve - normal bir dosya
  2. Diğer dokuz karakter üç set halinde gruplandırılmıştır: u kullanıcı g grup ve o sahibi, dosya veya dizin izinlerini belirtir. r “okuma” izinlerini gösterir, w “yazma” izinlerini gösterir ve X “yürütme” izinlerini gösterir.
Ls La Vurgu

Çalışma dizininizin veya dosyanızın dosya izinlerini öğrendikten sonra bunları kolayca değiştirebilirsiniz.

Dosya izinlerini değiştirmek için chmod nasıl kullanılır?

NS chmod komutu, Linux’ta dosya izinlerini değiştirmenin en kolay yoludur. Komutun genel sözdizimi şöyledir:

  • İzin: Bu, bir kullanıcıya, gruba, sahibine veya tümüne verilen izinleri temsil eder.
  • Operatör: bu, iznin atananına verilen izinleri gösterir: + izin verir, - izinleri reddeder ve = hangi izinlerin ayarlanacağını belirtir.
  • Mod: bu, hangi izinlerin ayarlanacağını belirler: r okuman, w yaz ya da x uygulamak.

Örneğin, herkesin “/var” dizinindeki yedekleme dizinine yazma erişimini engellemek için şu komutu kullanabilirsiniz:

kullanarak dosya izinlerini değiştirmesine rağmen chmod komut etkilidir, yalnızca belirtilen dizin veya dosya için dosya izinlerini değiştirir.

Neyse ki, bir dizinin veya dosyanın ve alt dizinlerinin ve dosyalarının dosya izinlerini yinelemeli olarak değiştirebilirsiniz. Bunu yapmak için özyinelemeli chmod komutunu kullanın. -r seçenek.

Örneğin, özyinelemeli olarak kaldıralım read “/var/backup” dizini ve tüm dosya ve alt dizinleri için izinler. Mevcut izinler şunlardır:

şimdi koşalım chmod izinleri değiştirmek için yinelemeli olarak:

Artık dosya izinlerinin değiştiğini görebilirsiniz.

Chmod Kaldırma İzni 1

Bul ile özyinelemeli değişiklik izni

Tipik olarak, benzer izinlere sahip dosya ve dizinleri ayarlamayacaksınız. Bunun nedeni, yürütmek için yürütme iznine ihtiyacınız olmasıdır. cd belirli bir dizine. Ancak, çoğu dosya bu yürütme iznini gerektirmez.

Bunu aşmak için şunları kullanabilirsiniz: find Linux’ta yardımcı program. Bu, yalnızca belirli dosyaları veya dizinleri bulmanıza ve bunlar üzerinde izinler ayarlamanıza olanak tanır.

“/var/log” dizinini alalım. Dizin hem dosyaları hem de dizinleri içerir.

Var Günlük Dosyaları Dizinleri

Yalnızca dosyalar için belirli izinler ayarlamak için find komutunu şu komutla kullanabiliriz: -type f seçenek.

Aşağıdaki örnek komuta bakın:

Yukarıdaki örnekte, “/var/log” dizininde dosyalar aramak için find komutunu kullandık, ardından kullanıcılar, gruplar ve tümü için okuma, yazma ve yürütme izinlerini ayarladık.

Aynı durumu dizinler için de yapabiliriz. Bu durumda, belirtiyoruz -type d sadece dizinleri almak için.

Örneğin:

Yukarıdaki örnekte, hem dosyalara hem de dizinlere değil, yalnızca dizinlere 755 iznini ayarladık.

kullanarak bunu doğrulayabilirsiniz. ls -la emretmek.

Bul Doğrulama ile Chmod

Tüm dosyaların 777 iznine sahip olduğunu, dizinlerin ise 755 izne sahip olduğunu fark edeceksiniz.

Kapanışta

Linux’ta dosya izinlerinin nasıl değiştirileceğini bilmek, çeşitli dosya ve dizinlere yetkisiz erişimi ve değişiklikleri önlemeye yardımcı olduğu için önemli bir beceridir. Bu arada, dosya erişimini kısıtlamak için dosya sahipliğini değiştirebilir veya Linux’ta dosya izinlerinin daha da hassas kontrolü için am access kontrol listesini kullanabilirsiniz.