
Linux’ta .bin ve .sh uzantıları Hakkında
Merhaba, Linux’a sıfırdan başlamamız ve öğrendiğim şeyleri adım adım paylaşacağımı Linux Hakkında başlıklı yazımda belirtmiştim. Bu yazımda Linux işletim sistemlerinde .sh ve .bin uzantılı dosyaların nasıl çalıştırılacağından ve haklarının nasıl değiştirileceğinden, kısaca chmod ve chown komutlarından bahsedeceğim.
Linux’ta .bin ve .sh uzantılı dosyalar şöyle çalıştırılır:
Önce dosyanın bulunduğu dizine geçelim:
cd /dosyanın/bulunduğu/dizin
Sonra şu komutu yazarak dosyamızı çalıştırılabilir hale getirelim, (burada x harfi executable yapacağımızı belirtiyor)
chmod +x dosyaadı.bin
veya .sh dosyaları için:
chmod +x dosyaadı.sh
Sonra da şu komutula dosyayı çalıştıralım:
“./dosyaadı.bin”
veya .sh dosyaları için:
“./dosyaadı.sh” (yada “sh dosyaadı.sh”)
Bazı durumlarda haklarıda değiştirmemiz gerekebilir, chmod ve chown komutlarını kullanarak bu işi yapabiliyoruz.
Dosyayı hangi user çalıştıracaksa “chown kullaniciadi:kullaniciadi dosyaadi.sh” komutunu vererek dosya haklarını ilgili kullanıcıya transfer etmiş oluyorsunuz. Eğer okuma yazma ve çalıştırmayla ilgili halen problem varsa chmod komutu kullanılarak 644 – 755 – 777 gibi parametreler verebiliriz.
Chmod ve Chown komutları daha geniş çaplı değinilmesi gereken bir konu ama kısaca bahsedersek;
Bir dosyayı listeleyelim;
“ls -l dosyaadi.sh”
Çıktı;
-rw-r–r– 1 root root 0 May 30 05:48 dosyaadi.sh
Burada dosyanın yazma okuma izinlerini, hem kullanıcı hem grup izinleri görüntüleyebiliyoruz.
İlk kısımda görülen; “-rw-r–r–“ satırı bu dosyanın yazma okuma ve çalıştırma izinlerini gösteriyor. Burada r (read) (4), w (write) (2), x (exec) (1) anlamına geliyor. Yanlarında yazılan rakamlar bu parametrelerin karşılık değerlerini gösteriyor. Yani satırı okursak bu değer “-rw-r–r–“ = 644 anlamına geliyor.
Burada şu komutla dosya hakları değiştirilebilir. Örneğin tüm yazma ve çalıştırma haklarını vermek istiyorsak, “chmod 777 dosyaadi.sh” yaptığımızda çıktı şu şekilde olacak “-rwxrwxrwx”
Not : Buradaki hakları değiştirmek güvenlik açıkları ve istenmediğiniz olaylar yaşanmasına sebep olabilir. O yüzden bilinçli şekilde kullanmanız gerekmektedir.
İkinci kısımda görülen; “root root” satırı ilk ifade kullanıcı iznini ikinci ifade grup izinlerinin root olduğunu gösteriyor.
Burada “chown ahmet dosyaadi.sh“ komutu çalıştırılırsa dosyanın sadece kullanıcı izni değişmiş olur ve çıktı şu şekildedir;
-rw-r–r– 1 ahmet root 0 May 30 05:48 dosyaadi.sh
Hem kullanıcı hem grup izinlerinin değiştirmek istersek şu komutu yazıyoruz. “chown ahmet:ahmet dosyaadi.sh” Çıktıyı şu şekilde göreceksiniz;
-rw-r–r– 1 ahmet ahmet 0 May 30 05:48 dosyaadi.sh
Bu iki komutta verilebilecek bir çok parametre var. man chmod yada man chown şeklinde yardım alabilirsiniz. Chmod yada chown komutunun hemen sonrasına -R ifadesini eklerseniz (bu recursive demektir) komutu verdiğiniz klasör içindeki tüm dosyalar için ilgili komutu işletir.
chown — change file owner and group
chmod — change file modes or Access Control Lists
Başka bir yazıda görüşmek üzere..

