arama işlemleri ve dosya İzinleri
DESCRIPTION
BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ. Arama işlemleri ve Dosya İzinleri. Dosya ve Dizin arama. Dosya arama işlemleri başta find ve locate olmak üzere which ve whereis komutları ile yapılabilir. Dosya ve Dizin arama : locate. - PowerPoint PPT PresentationTRANSCRIPT
Arama işlemleri ve Dosya İzinleri
BİLGİSAYAR PROGRAMCILIĞI BÖLÜMÜ AÇIK KAYNAK İŞLETİM SİSTEMİ DERSİ
Dosya ve Dizin arama
Dosya arama işlemleri başta find ve locate olmak üzere which ve whereis komutları ile yapılabilir.
Dosya ve Dizin arama :locate
locate komutunun ardından aranan dosyanın ismi verilerek arama yapılabilir
Bu komutun çalışabilmesi için daha önce updatedb komutunun çalıştırılmış olması gereklidir. updatedb komutu dosya sistemini tarayarak bir veritabanı oluşturur ve arama işleminin sonucunu bu veritabanından getirir. Bu veritabanın son güncelleme tarihinden sonraki değişiklikler sonuca yansımayacaktır. Bu veritabanının her gün otomatik olarak güncellenmesi için /etc/updatedb.conf dosyasındaki DAILY_UPDATE kısmı yes yapılmalıdır.
Dosya ve Dizin arama :find
find komutu kullanılarak dosya sisteminde arama yapılabilir. Bu komut çalıştırıldığı anda aranan dizinleri tarayarak sonucu ekrana getirir. Bu nedenle locate komutuna göre daha yavaş ama daha doğru sonuçları ekrana getirir.
Dosya ve Dizin arama :find
find komutunun alabileceği bazı parametreler şunlardır:
-name : İsim ile arama yapmak için kullanılır. Dosyanın tam ismi verilebileceği gibi, * gibi yer tutucu karakterlerde kullanılabilir.
-user kullanıcı:İstenilen kullanıcıya ait dosyaların bulunması için kullanılır-group grup Belirtilen gruba ait dosyaların bulunması için kullanılır-perm izin: Belirtilen izine sahip dosyaların bulunması için kullanılır-newer dosya1:Belirtilen dosyadan daha yeni dosyaların bulunması için
kullanılır-size[+/-] büyüklük: Belirtilen büyüklüğe sahip dosyaların bulunması için
kullanılır-answer dosya1:Belirtilen dosya yapılan erişimden daha sonra erişilmiş
dosyaları bulmak için kullanılır-amin[+/-] süre: Süre ile belirtilen dakika önce erişilen dosyaları bulmak için
kullanılır
Dosya ve Dizin arama :find
-atime [+/-] süre: Süre ile belirtilen gün önce erişilen dosyaları bulmak için kullanılır
-cmin[+/-] süre: Süre ile belirtilen dakika önce statüsü değiştirilen dosyaları bulmak için kullanılır
-ctime [+/-] süre: Süre ile belirtilen dakika önce statüsü değiştirilen dosyaları bulmak için kullanılır
-links[+/-] sayı: Sayı ile belirtilen miktarda hard link’e sahip dosyaları bulmak için kullanılır
-mmin[+/-] süre: Süre ile belirtilen dakika önce değiştirilmiş dosyaları bulmak için kullanılır
-mtime [+/-] süre: Süre ile belirtilen gün önce değiştirilmiş dosyaları bulmak için kullanılır
-nouser: Hiçbir tanımlı kullanıcıya ait olmayan dosyaları bulmak için kullanılır-nogroup: Hiçbir tanımlı gruba ait olmayan dosyaları bulmak için kullanılır
Dosya ve Dizin arama :which
Komutların bulunduğu tam yolu veya aliasını gösterir
Dosya Sistemlerine Erişim
whereis komutu aranan kelimenin çalıştırılabilir yolunu, kaynağını ve yardım sayfalarının yolunu gösterir
Bazı parametreler şunlardır: -b : sadece çalıştırılabilir yolu arar -m : sadece yardım sayfalarını arar -s : sadece kaynağını arar
Dosya/Dizin İzinleri
Linux’te temel dosya sistemi güvenliği kullanıcıların dosya ve dizinler üzerindeki erişim izinlerinin belirlenmesiyle sağlanır. Bir dosya veya dizinlere ait 3 grup izin vardır:Dosya sahibinin izinleri (Dosyanın sahibi: u )Dosya grubunun izinleri (Kullanıcı grubu: g )Sistemdeki diğer kullanıcıların izinleri (Diğer tüm kullanıcılar: o )
Dosya ve dizinlerin sahip oldukları izinleri görmek için ls –k(d) yada stat komutları kullanılabilir.
Dosya/Dizin İzinleri
Okuma (r) – Dosya içeriğini görebilir mi?– (Klasörler için) dosya listesini alabilir mi?
Yazma (w)– (Aynı zamanda) dosyayı silebilir mi?– (Klasörler için) bu klasör içinde dosya
veya altklasör oluşturabilir mi? Çalıştırma (x)
– Dosyayı çalıştırabilir mi?– (Klasörler için) bu klasöre geçebilir mi?
Dosya/Dizin İzinleri
Dosya tipinin belirtildiği kısım
“-” Normal dosya “d” Dizin “c” Karakter bazında işlem yapan aygıt sürücüleri “b” Blok bazında işlem yapan aygıt sürücüleri “l” Başka bir dosyayı gösteren link dosyaları
-rwxrw-r--
-rwxrw-r--
Dosyanın sahibiGrup
Diğer kullanıcılar
Dosya/Dizin İzinleri
İzinlerin belirtildiği kısım
Dosya/Dizin İzinleri root@localhost # ls -l
toplam 6744 drwxr-xr-x 10 mustafa users 4096 Nov 14 23:43 my_dir
….
d–> dizin olduğunu gosteriyorilk üclü —> rwx (okuma, yazma, calistirma) mustafa isimli kullanici tüm haklara sahipikinci uclu –> r-x user grubuna üye olan kullanıcılar okuma ve çalıştırma haklarına sahipucuncu uclu –> diğer kullanıcılar okuma ve çalıştırma haklarına sahip
mustafa —> dosya/dizin sahibiusers —> dosyanin/dizinin grubu
İzin Değiştirme İşlemleri
● chmod komutu belirtilen dosya ve klasörlerinizinlerini değiştir -R parametresi alt klasör ve dosyalardaki
izinleri de değiştir
– X: çalıştırılabilir dosyalara ve klasörlere çalıştırma izni ver
Sembolik tanımla İzin Değiştirme
izin eklemek için +, izin kaldırmak için –
sahibi: u, grubu: g, diğerleri: o, herkes: a
okuma: r, yazma: w, çalıştırma: x
chmod u+rwx,g-w,o-rwx dosya_adi
$ chmod go-rwx prog1 Bu durumda grup ve diğerlerinden rwx yetkisinin
geri alınacağı ve artık prog1’in izinlerinin sadece –rwx------ olacağı anlaşılıyor
Sembolik tanımla İzin Değiştirme
Örnekler
chmod + x dosya
Örnekler
chmod + x dosya (herkese çalıştırma izni verilir)
chmod u+rwx dosya
Örnekler
chmod u+rwx dosya (dosya sahibine tüm haklar
verilir)
Örnekler
chmod g-wx dosya
Örnekler
chmod g-wx dosya (dosya grubundan yazma ve
çalıştırma iznini kaldırır)
Örnekler
chmod u+rwx, g+rx, o+x dosya
Örnekler
chmod u+rwx, g+rx, o+x dosya (dosya sahibine tüm izinler,
gruba okuma ve çalıştırma izni, diğer kullanıcılara çalıştırma izni verilir)
Örnekler
Sayısal tanımla izin değiştirme
chmod izin kodu dosya/dizin
Diğerleri için çalıştırma0001
Diğerleri için yazma0002Diğerleri için okuma0004Gruptakiler için çalıştırma0010Gruptakiler için yazma0020Gruptakiler için okuma0040Dosya sahibi için çalıştırma0100
Dosya sahibi için yazma0200Dosya sahibi için okuma0400İzin durumuKod
Diğerlerio
Grupg
Dosya sahibiu
KullanıcılarSembolik Kod
Dosya sahibine okuma izni 400 Dosya sahibine yazma izni 200 Gruba okuma izni 40 Diğerlerine okuma izni 4
Toplam 644
# chmod 644 orn.dat
Sayısal tanımla izin değiştirme
Örnekler
chmod 674 adosya
Örnekler
chmod 674 adosya
-rw-rwxr– 1 mustafa users 0 Nov 15 00:11 adosya
Örnekler
chmod 700 adosya
Örnekler
chmod 700 adosya-rwx—— 1 mustafa users 0 Nov 15 00:17 adosya
Dosya sahibinin değiştirilmesi için chown komutu kullanılır
chown yeni_sahibinin_ismi dosya/dizin
Bu komutu çalıştırabilmek için kullanıcının dosya üzerinde gerekli izinlere sahip olması gerekiyor.
Dosya Sahibini Değiştirme
Örnek
Önceki Durum:-rwxr-xr-x 2 Ahmet users 182 Nov 16 01:15 deneme
# chown Mehmet deneme
Sonraki Durum:-rwxr-xr-x 2 Mehmet users 182 Nov 16 01:19 deneme
Grubun değiştirilmesi için chgrp komutu kullanılır
chgrp yeni_sahibinin_ismi dosya/dizin
Bu komutu çalıştırabilmek için kullanıcının dosya üzerinde gerekli izinlere sahip olması gerekiyor.
Grubu Değiştirme
Örnek
Önceki Durum:-rwxr-xr-x 2 Mehmet users 182 Nov 16 01:23 deneme
# chgrp users2 deneme
Sonraki Durum:-rwxr-xr-x 2 Mehmet users2 182 Nov 16 01:24 deneme
Kullanıcı maskesi
Linux’ta bir dizin veya dosya yaratılırken, otomatik olarak sistem tarafından izinleri ayarlanır.
Dosyalar için rw-rw-rw- = 666 şeklindedir. Dizinler için rwxrwxrwx = 777 şeklindedir
Kullanıcının isteğine bağlı bir maske oluşturularak sistem kabullerini değiştirebilir.
Maskeleme işlemi yapmak üzere umask komutu kullanılır.
umask, kisaca ontanimli olarak yeni yaratilacak dosya ve dizinlere olan erisim haklarini almak icin kullanilir.
umask degeri 022 ise gerekli izinler nedir ?dizin haklari icin 777 - 022 = 750dosya haklari icin 666 - 022 = 644
Kullanıcı maskesi
Kaynaklar
Ders Notları: Mustafa Sarıöz Ders Notları: Gulshat Kulzhabayeva