Android

Linux'ta dosyanın izinlerini özyinelemeli olarak değiştirme

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

Linux vs Windows vs MacOS для работы. Какой ЛИНУКС выбрать в 2020 для рабочего компьютера?

İçindekiler:

Anonim

Linux çok kullanıcılı bir sistemdir ve dosyalara erişim dosya izinleri, öznitelikler ve sahiplik aracılığıyla kontrol edilir. Bu, yalnızca yetkili kullanıcıların ve işlemlerin dosyalara ve dizinlere erişmesini sağlar.

Dosya izinleri hakkında daha fazla bilgi için, bkz. “Linux'ta Umask Komutu”., dosya ve dizinlerin izinlerini özyineli olarak nasıl değiştireceğimizi açıklayacağız.

Chmod Özyinelemeli

chmod komutu, sembolik veya sayısal modu kullanarak dosyaların izinlerini değiştirmenize olanak tanır.

Belirli bir dizin altındaki tüm dosya ve dizinlerde özyinelemeli olarak çalışmak için, -R , ( --recursive ) seçeneğiyle chmod komutunu kullanın. Dosyanın izinlerini tekrar tekrar değiştirmek için kullanılan genel sözdizimi aşağıdaki gibidir:

chmod -R MODE DIRECTORY

Örneğin, /var/www/html dizini altındaki tüm dosya ve alt dizinlerin izinlerini 755 şunları kullanırsınız:

chmod -R 755 /var/www/html

Mod ayrıca sembolik yöntem kullanılarak da belirtilebilir:

chmod -R u=rwx, go=rx /var/www/html

Yalnızca kök, dosya sahibi veya sudo ayrıcalıklarına sahip kullanıcı dosyanın izinlerini değiştirebilir. Dosyaların izinlerini tekrar tekrar değiştirirken çok dikkatli olun.

Find komutunu kullanma

Genel olarak, dosyalar ve dizinler aynı izinlere sahip olmamalıdır. Çoğu dosya yürütme izni gerektirmezken, dosyalara geçmek için dizinlerde yürütme izinleri ayarlamanız gerekir.

En yaygın senaryo, web sitesi dosyasının izinlerini 644 ve yönetmenin izinlerini özyineli olarak 755 .

Sayısal yöntemi kullanarak:

find /var/www/html -type d -exec chmod 755 {} ; find /var/www/html -type f -exec chmod 644 {} ;

Sembolik yöntemi kullanarak:

find /var/www/html -type d -exec chmod u=rwx, go=rx {} ; find /var/www/html -type f -exec chmod u=rw, go=r {} ;

find komutu, /var/www/html altındaki dosyaları veya dizinleri arar ve izinleri ayarlamak için bulunan her dosyayı veya dizini chmod komutuna geçirir.

-exec ile kullanıldığında, bulunan her giriş için chmod komutu çalıştırılır. Aynı anda birden fazla giriş ileterek işlemi hızlandırmak için xargs komutunu kullanın:

find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type d -print0 | xargs -0 chmod 755 find /var/www/html -type f -print0 | xargs -0 chmod 644 find /var/www/html -type f -print0 | xargs -0 chmod 644

Sonuç

-R seçeneklerine sahip chmod komutu, dosyanın izinlerini yinelemeli olarak değiştirmenize olanak tanır.

Dosyaların izinlerini türlerine göre yinelemeli olarak ayarlamak için, chmod find komutuyla birlikte kullanın.

chmod terminali