Linux veya macOS'ta zsh hatası olan "İzinler reddedildi" hatasını düzeltme

Linux veya Mac'te bir komut çalıştırmaya çalışırken gerekli yürütme ayrıcalıklarına sahip olmadığınızda "zsh: izin reddedildi" hatası oluşur. Bu, yazma ayrıcalığınızın olmadığı bir dizinde `ls` çalıştırmak kadar basit bir şey olabileceği gibi, kullanıcının yetkilendirilmediği eylemleri gerçekleştiren bir komut dosyası çalıştırmak da olabilir. "Ayrıcalıklar" derken, okuma veya yazma izinlerini kastediyoruz.

Öncelikle bu hatanın temel nedenine bakalım, ardından en iyi çözümün hangisi olduğunu görmek için her birini deneyelim.

Bu hata çoğunlukla dosya için çalıştırma, yazma veya okuma izinleriniz olmadığında ortaya çıkar.

Linux işletim sisteminde Zsh kabuğunda olduğumuzu ve 'cat' komutunu kullanarak bir dosyanın içeriğini görüntülemeye çalıştığımızı, ancak 'erişim reddedildi' hatası aldığımızı varsayalım.

Şimdi, bu hatayı düzeltmek için öncelikle dosya izinlerini kontrol etmemiz gerekiyor. Bunun için şu komutu çalıştırıyoruz: “ls -l” İzinleri görüntülemek için.

Gördüğünüz gibi, izinler öyle ayarlanmış ki, dosyayı yalnızca root kullanıcısı ve root grubu okuyabilir, dosyaya ise yalnızca root kullanıcısı yazabilir.

1. sudo kullanımı

Bunu düzeltmenin en basit yolu şudur: 'sudo' Çalıştırmak istediğimiz komutla birlikte. Bu, komutu root kullanıcısı olarak çalıştıracaktır. Sizin durumunuzda, çalıştırmak istediğiniz komutun veya gerçekleştirmek istediğiniz görevin bilgisayarınıza zarar vermeyeceğinden emin olduğunuzda 'sudo' da kullanabilirsiniz.

Bu nedenle şu şekilde hareket edebiliriz:

sudo cat file

2. Dosya veya dosyaların izinlerini değiştirme

Bir sonraki adım olarak dosya izinlerini değiştirebiliriz. 'Erişim reddedildi' hatası genellikle okuma veya yazma izinlerinden kaynaklandığı için, bu dosyanın veya söz konusu dosyaların izinlerini değiştirebiliriz.

Uygulama 'ls -l' Dosyanın bulunduğu dizinde, dosya sahibinin ve grubunun root olduğunu görebiliriz.

Dosyanın sahibini kendi kullanıcımız olarak değiştirebilir ve ardından dosyayla istediğimiz her şeyi yapabiliriz.

Şunları yapabiliriz:

sudo chown [kullanıcı] [dosya-adı]

Örneğimizde, v3n0m kullanıcı adıyla giriş yaptığımız için komutu şu şekilde vereceğiz:

sudo chown v3n0m file

v3n0m bizim kullanıcı adımız. Sizin durumunuzda ise bu sizin kullanıcı adınız olacaktır.

Artık dosya üzerinde `cat` komutunu çalıştırabiliriz çünkü artık hata vermeyecek. izin reddedildi.

3. Uygulama yetkilerini etkinleştirin

Zsh veya diğer kabuklarda bir dosyayı program olarak çalıştırmak için dosya adıyla birlikte ./ kullanabilirsiniz. Ancak, dosya için çalıştırma izinleri ayarlanmamışsa, 'zsh: izin reddedildi' hatası alırsınız.

Diyelim ki script1 adlı bir betiği çalıştırmak istiyoruz. Terminalimize ./script1 yazıyoruz ve şu hatayı alıyoruz:

Dosya üzerindeki izinleri görmek için `ls -la` komutunu çalıştırıyoruz. Gördüğünüz gibi, dosya üzerinde yürütme izinleri ayarlanmamış.

Çözüm oldukça basit: dosyaya çalıştırma izinleri ekleyin.
Basit bir emir veriyoruz.

chmod +x script1

Şunu ekleyecek:chmod + x` Uygulama Karşı Dosya izinleri, dosya sahibi, grup ve diğerleri için.

Şimdi dosyayı program olarak çalıştırmak için ` komutunu yazabiliriz../script1Hiçbir hata yok.

Bu hata Linux'ta ortaya çıkıyorsa kendiliğinden düzelecektir; ancak macOS veya Gradle'da bu hatayla karşılaşıyorsanız, makaleyi okumaya devam edin.

zshrc dosyanızı düzenleyin (macOS)

Bazı macOS kullanıcıları, komut çalıştırmak istedikleri dizinin dışında olduklarında `zsh` kullanırken bir sorun yaşadıklarını bildirdiler.

Benzer bir sorunla karşılaşırsanız, çözüm çok basittir.

Dosyayı düzenlemeniz gerekiyor..zshrcKılavuzdaana sayfa/kullanıcı adıKendi kodunuzu ekleyin ve dosyanın sonuna ekleyin.

setopt auto_cd

Bu, `auto_cd`zsh` içinde.

Bir dosyayı düzenlemek için.zshrcBunun için `vim` veya `vi` gibi herhangi bir grafiksel metin düzenleyici veya komut satırı metin düzenleyici kullanabilirsiniz.

CHMOD komutunu kullanarak izinleri ayarlama (Gradle)

"zsh: permission denied" hatası, Gradle üzerinde çalışıyorsanız ve `gradlew` dosyanızın doğru izinlere sahip olmaması durumunda ortaya çıkabilir.

Bu hatayı düzeltmek için şunu ayarlamanız gerekiyor: gradlew üzerinde doğru izinler.

Bu komutu terminalinize yazabilirsiniz,

chmod 755 gradlew

Bu, dosyayı şu hale getirecektir:yavaş yavaşBu mümkün ve hata düzeltilecektir.

Ya da şu komutu yazabilirsiniz:chmod +x gradlew`

Bu işlem aynı zamanda `gradlew` dosyasını da çalıştırılabilir hale getirecektir.

Bu çözümlerden hiçbiri işinize yaramazsa, lütfen aşağıya yorum bırakın; teknisyenimiz en kısa sürede size yardımcı olmaktan memnuniyet duyacaktır.

 

Yoruma kapalı.