370 likes | 777 Views
BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ. Arama işlemleri ve Dosya İzinleri. Öğr. Gör. Mustafa SARIÖZ. Dosya ve Dizin arama. Dosya arama işlemleri başta find ve locate olmak üzere which ve whereis komutları ile yapılabilir.
E N D
BİLGİSAYAR TEKNOLOJİLERİ VE PROGRAMLAMA BÖLÜMÜ BİLG 223 AĞ İŞLETİM SİSTEMLERİ DERSİ Arama işlemleri ve Dosya İzinleri Öğr. Gör. Mustafa SARIÖZ
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 izinlerininbelirlenmesiyle 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çinls –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 -rwxrw-r-- 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ı
Dosya/Dizin İzinleri İzinlerin belirtildiği kısım Dosyanın sahibi Grup Diğer kullanıcılar -rwxrw-r--
Dosya/Dizin İzinleri root@localhost# ls -l toplam 6744 drwxr-xr-x 10 mustafausers 4096 Nov14 23:43 my_dir …. d–> dizin olduğunu gosteriyorilk üclü —> rwx (okuma, yazma, calistirma) mustafa isimli kullanici tüm haklara sahip ikinci uclu –> r-x user grubuna üye olan kullanıcılar okuma ve çalıştırma haklarına sahip ucuncu 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örlerin izinlerini 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 Kod İzin durumu 0400 Dosya sahibi için okuma 0200 Dosya sahibi için yazma 0100 Dosya sahibi için çalıştırma 0040 Gruptakiler için okuma Sembolik Kod Kullanıcılar 0020 Gruptakiler için yazma 0010 Gruptakiler için çalıştırma u Dosya sahibi 0004 Diğerleri için okuma g Grup 0002 Diğerleri için yazma o Diğerleri 0001 Diğerleri için çalıştırma
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 Nov1500:11adosya
Örnekler chmod 700 adosya
Örnekler chmod 700 adosya -rwx—— 1 mustafa users 0 Nov1500:17adosya
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 Nov16 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 Mehmetusers 182 Nov16 01:23 deneme # chgrpusers2 deneme Sonraki Durum: -rwxr-xr-x 2 Mehmetusers2 182 Nov 16 01:24 deneme
Kullanıcı maskesi Linux’ta bir dizin veya dosya yaratılırken, otomatikolarak 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şturularaksistem 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