Bash Shell Betiği : Dosya Yetkilendirme
Gönderilme zamanı: 22 Oca 2025 19:02
Aşağıda, kullanıcıdan bir dosya veya dizinin tam yolunu alarak, bu dosya veya dizinin yazma, okuma ve çalıştırma yetkilerini değiştirmesine olanak tanıyan bir bash shell betiği bulunmaktadır. Bu betik, Zenity kullanarak kullanıcıdan gerekli bilgileri alır.
Klasik Yöntem :
Betiği Kullanma
Yukarıdaki kodu bir dosyaya yapıştırın, örneğin change_permissions.sh.
Betiği çalıştırılabilir hale getirin:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Betiği çalıştırın:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Açıklama
Betik, kullanıcıdan bir dosya veya dizin seçmesini ister.
Seçilen dosya veya dizin için okuma, yazma ve çalıştırma yetkilerini değiştirmek için kullanıcıdan onay alır.
Kullanıcı onay verirse, chmod komutu ile belirtilen yetkiler uygulanır.
Sayısal Yöntem :
Aşağıda, kullanıcıdan bir dosya veya dizinin tam yolunu alarak, bu dosya veya dizinin yazma, okuma ve çalıştırma yetkilerini sayılarla değiştirmesine olanak tanıyan bir bash shell betiği de bulunmaktadır. Bu betik, Zenity kullanarak kullanıcıdan gerekli bilgileri alır ve yetkileri sayılarla (okuma, yazma, çalıştırma) ayarlamak için chmod komutunu kullanır.Betik, kullanıcıdan bir dosya veya dizin seçmesini ister ve ardından izinlerin sayısal karşılıklarını açıklayan bir bilgi penceresi gösterir. Kullanıcı daha sonra izinleri sayılarla girebilir.
Bash Shell Betiği (Bilgilendirme Tablosuyla Birlikte)
ÖRNEK EKRAN GÖRÜNTÜSÜ (Sistem : GNU/Linux Mint 21.1 x64)
Sayısal Yöntem (Modern) :
[center]
[/center]
Güle güle kullanın...
Klasik Yöntem :
Kod: Tümünü seç
#!/bin/bash
# Kullanıcıdan dosya veya dizin yolunu al
file_path=$(zenity --file-selection --title="Bir dosya veya dizin seçin")
# Eğer kullanıcı bir dosya/dizin seçmediyse çık
if [ -z "$file_path" ]; then
zenity --error --text="Bir dosya veya dizin seçmediniz."
exit 1
fi
# Kullanıcıdan okuma yetkisini sor
read_permission=$(zenity --question --text="Okuma yetkisini vermek istiyor musunuz?" --title="Okuma Yetkisi")
if [ $? -eq 0 ]; then
chmod +r "$file_path"
zenity --info --text="Okuma yetkisi verildi."
else
zenity --info --text="Okuma yetkisi verilmedi."
fi
# Kullanıcıdan yazma yetkisini sor
write_permission=$(zenity --question --text="Yazma yetkisini vermek istiyor musunuz?" --title="Yazma Yetkisi")
if [ $? -eq 0 ]; then
chmod +w "$file_path"
zenity --info --text="Yazma yetkisi verildi."
else
zenity --info --text="Yazma yetkisi verilmedi."
fi
# Kullanıcıdan çalıştırma yetkisini sor
execute_permission=$(zenity --question --text="Çalıştırma yetkisini vermek istiyor musunuz?" --title="Çalıştırma Yetkisi")
if [ $? -eq 0 ]; then
chmod +x "$file_path"
zenity --info --text="Çalıştırma yetkisi verildi."
else
zenity --info --text="Çalıştırma yetkisi verilmedi."
fi
Yukarıdaki kodu bir dosyaya yapıştırın, örneğin change_permissions.sh.
Betiği çalıştırılabilir hale getirin:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kod: Tümünü seç
chmod +x change_permissions.sh
Betiği çalıştırın:
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
Kod: Tümünü seç
./change_permissions.sh
Açıklama
Betik, kullanıcıdan bir dosya veya dizin seçmesini ister.
Seçilen dosya veya dizin için okuma, yazma ve çalıştırma yetkilerini değiştirmek için kullanıcıdan onay alır.
Kullanıcı onay verirse, chmod komutu ile belirtilen yetkiler uygulanır.
Sayısal Yöntem :
Aşağıda, kullanıcıdan bir dosya veya dizinin tam yolunu alarak, bu dosya veya dizinin yazma, okuma ve çalıştırma yetkilerini sayılarla değiştirmesine olanak tanıyan bir bash shell betiği de bulunmaktadır. Bu betik, Zenity kullanarak kullanıcıdan gerekli bilgileri alır ve yetkileri sayılarla (okuma, yazma, çalıştırma) ayarlamak için chmod komutunu kullanır.Betik, kullanıcıdan bir dosya veya dizin seçmesini ister ve ardından izinlerin sayısal karşılıklarını açıklayan bir bilgi penceresi gösterir. Kullanıcı daha sonra izinleri sayılarla girebilir.
Bash Shell Betiği (Bilgilendirme Tablosuyla Birlikte)
Kod: Tümünü seç
#!/bin/bash
# Kullanıcıdan dosya veya dizin yolunu al
file_path=$(zenity --file-selection --title="Bir dosya veya dizin seçin")
# Eğer kullanıcı bir dosya/dizin seçmediyse çık
if [ -z "$file_path" ]; then
zenity --error --text="Bir dosya veya dizin seçmediniz."
exit 1
fi
# İzinlerin sayısal karşılıklarını gösteren bilgi penceresi
zenity --info --text="İzinlerin sayısal karşılıkları:\n\n\
- Okuma (r): 4\n\
- Yazma (w): 2\n\
- Çalıştırma (x): 1\n\n\
Örnek izinler:\n\
- 755: (rwxr-xr-x) - Sahip: okuma, yazma, çalıştırma; Grup: okuma, çalıştırma; Diğer: okuma, çalıştırma\n\
- 644: (rw-r--r--) - Sahip: okuma, yazma; Grup: okuma; Diğer: okuma\n\
- 777: (rwxrwxrwx) - Tüm izinler\n" --title="İzin Bilgisi"
# Kullanıcıdan izinleri al
permissions=$(zenity --entry --text="Lütfen izinleri sayılarla girin (örneğin: 755):" --title="İzinleri Girin")
# Girilen izinlerin geçerli olup olmadığını kontrol et
if ! [[ "$permissions" =~ ^[0-7]{3}$ ]]; then
zenity --error --text="Geçersiz izin formatı. Lütfen 3 basamaklı bir sayı girin (örneğin: 755)."
exit 1
fi
# İzinleri ayarla
chmod "$permissions" "$file_path"
zenity --info --text="İzinler başarıyla değiştirildi: $permissions"
Sayısal Yöntem (Modern) :
[center]
[/center]
Güle güle kullanın...