24 Nisan 2007, 20:14 | #1 | |
Çevrimdışı
Kullanıcıların profil bilgileri misafirlere kapatılmıştır.
IF Ticaret Sayısı: (0) | Linux Dosya İşlemleri Yazar: Joe Jampell Uyarlama: Selahattin ERDEM Ders Konusu: Linux Dosya İşlemleri Yayın Tarihi: 29/03/2007 Linux Dosya ve Dizin işlemleri Tipki MS-DOS’ta oldugu gibi Linux dosya yapisinin da hiyerarsik bir yapiya sahip oldugu daha önce belirtilmisti. Temel dosya bilgisi önceki konularda anlatildiginda burada sadece dosya ve dizinlerle ilgili özelliklere deginilecektir. Erisim Haklari Erisim haklari, Linux dosya sistemi güvenliginin belkemigini olusturur. Her dosyaya ayri verilebilen erisim izinleri sayesinde çok daha rahat bir sistem gerçeklestirilebilir. Bu konuya sadece sistem görevlisi tarafindan yaklasildigi zaman çikartilabilecek bir sonuçtur. Kullanici bazinda erisim haklari bazen daha da anlamli olabilir. Yanlis kullanildiginda hos olmayan sürprizlere yol açabilir. Linux altinda üç çesit erisim hakki vardir: • Okuma Izni : Dosyanin okuma izni varsa içerigi görülebilir, dizinin okuma izni varsa içerdigi dosyalarin listesi alinabilir. • Yazma Izni : Dosyanin yazma izni varsa dosyayi degistirebilir veya silebilirsiniz. Dizine yazma izni verildiginde dizin altindaki dosyalar yazilabilir veya silinebilir. • Çalistirma Izni : Dosyayi çalistirma hakkini verir. Bir dosya veya dizin ilk yaratildiginda Linux tarafindan ön tanimli bazi izinler verilir. Genellikle bu izin çalistirma ve okumadir. Dosyanin olusma aninda verilen izni degistirmek için erisim yetki kalibi olarak da bilinen umask komutu kullanilir. Erisim haklarinin disinda bir dosyanin üç izin düzeyi daha vardir. Bunla dosyanin sahibi, dosyanin grubu ve diger kullanicilardir. Dosyanin sahibi, o dosyayi olusturan kisidir. Her kullanicinin bir grubu da oldugu için, dosya olustururken kullanici hangi grupta ise dosya da o gruba ait olacaktir. Dosyanin sahibi olmayan ve grubu da dosyanin grubuyla uyusmayan sistemdeki kullanicilar ‘diger’ sinifina girerler. Dosya Izinlerinin Degistirilmesi: Dosya izin bilgilerini görebilmek için ls komutu, -l parametresiyle kullanilir. Asagidaki dosya üzerindeki erisim haklarina göz atalim: -rwxr-xr-x 2 ERRE users 182 Feb 12 03:58 deneme Dosya bilgisinin an sol kisminda izin haklari yer alir. En bastaki “-“ isreti bunun düz dosya oldugunu belirtir. “ERRE”, dosyasinin sahibi; “users” ise grubudur. Ardindan sirayla uzunluk, son degistirilme tarihi ve dosya ismi gibi bilgiler gelir. Son harf kümesine dosyanin modu da denir. Solda yer alan r,w ve x karakterleri sirayla okuma, çalistirma ve yazma haklarini belirtir. En soldaki “-“ isaretini ayirdiginiz zaman geri kalan harfleri üçlü grup haline getirdigimizde; rwx r-x r-x bu şekilde gelmekte. Sirayla birinci harf kümesi dosya sahiplerinin izinlerini, ikinci harf kümesi grup izinleri ve son küme de diger kullanicilarin izinlerini belirtir. Buna göre yukaridaki dosyada • rwx : Kullanici okuyabilir, yazabilir, çalistirabilir. • r-x : Grup okuyabilir, çalistirabilir fakat yazamaz. • r-x : Digerleri okuyabilir, çalistirabilir fakat yazamaz. Sol bastaki karakter “d” olsaydi, bir dizini inceliyor olacaktik. Dosyanin izinlerini degistirmek için chmod komutu kullanilir. Bu komutu kullanirken hangi izin düzeyine (kullanici, grup veya digerleri) hangi izinlerin verilecegi veya kaldirilacagi yazilir. Örnek olarak yukaridaki dosyanin okuma iznini kaldirmak için; $ chmod -r deneme kullanilabilir.”-“ isareti, iznin kaldirilacagini belirtir. Izin vermek için ise “+” yazilir. Dosyanin yeni görüntüsü söyle olur: --wx--x--x 2 ERRE users 182 Feb 12 03:58 deneme Sadece grubun, sadece kullanicinin veya sadece digerlerinin erisim hakkini degistirebilmek için her izin düzeyi için bir harf tanimlanmistir. Kullanici adi için “u”, grup için “g” ve digerleri için “o” yazarak belirli bir izin düzeyi için erisim hakkini degistirmek mümkün olur. Bu üç harf, izinden hemen önce yazilir. $ chmod u+x deneme (dosyanin sahibi çalistirabilir) $ chmod o+r t2sac (digerleri okuyabilir) $ chmod g-w deneme (dosyanin grubu yazamaz) Her izin için ayni zamanda izinler tanimlanmistir. Dosyanin erisim izinlerini degistirmek için izne ait sayilari kullanabiliriz. Asagidaki tabloda, her izin düzeyi (dosyanin sahibi, grubu ve digerleri) için üçer tane olmak üzere toplam 9 sayidan olusan izin numaralarini görebilirsiniz. Bir izni vermek için sirayla numaralari toplayin. örnegim sahibin okumasi (400), yazmasi (200), çalistirmasi (100), grubun okumasi (40), çalistirmasi (10) ve digerlerinin okumasi (4) ve çalistirmasi (1) için kullanilan rakamlarin toplami 755’tir. $ chmod 755 deneme 400 sahibi okur 200 sahibi yazar 100 sahibi çalistirir 040 grubu okur 020 grubu yazar 010 grubu çalistirir 004 digerleri okur 002 digerleri yazar 001 digerleri çalistirir Baska bir örnekte; sahibinin okumasi (400), yazmasi (100), grubun okumasi (40), digerlerinin okumasi (4) için izin numarasini bulmak için bu cümlede parantez içinde yer alan sayilari toplarsak 644 yapacaktir. $ chmod 644 deneme Aynen dosyalarda oldugu gibi, bir dizinin de sahibi ve grubu vardir. Dosyanin Sahibinin ve Grubunun Degistirilmesi: Bir dosyanin sahibini sadece sistemdeki root kullanici degistirebilme yetkisine sahiptir. Dosya sahibinin degistirilmesi için chown komutu kullanilabilir. Yukaridaki dosyanin sahibi SAMET isimli kullanici ise; # chown SAMET deneme Dosyanin yeni hali söyle olur: -rwxr-xr-x 2 SAMET users 182 Feb 12 03:58 deneme chgrp komutu yardimiyla da dosyanin grubunu degistirilebilir. Yukaridaki dosyanin grubunu Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. yapmak için; # chgrp Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. deneme komutu kullanilabilir. Chown komutu, dosyanin hem kullanicisini, hem de grubunu degistirebilme özeligine sahiptir. Chown komutundan sonra kullanici ve grup isimleri aralarinda bir nokta kalacak sekilde yazilirsa; $ chown SAMET. Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. denem $ ls-l deneme -rwxr-xr-x 2 SAMET Bu forumdaki linkleri ve resimleri görebilmek için en az 25 mesajınız olması gerekir. 182 Feb 12 03:58 deneme Diger Dosya Sistemlerinin Kullanilmasi: Bir Linux isletim sisteminde dosyalarin ve dizinlerin her birisi sabit disk, CDROM veya diger bilgi saklamaya yarayan cihazlarin birer parçasi olan “dosya sistemlerinde” tutulur. Linux’ un destekledigi pek çok dosya sistemi vardir ve bunlarin her birisinin veri depolarken kullandiklari yöntem birbirinden farklidir. Linux’ ta her dosya sistemi farkli bir dizinde tutulur ve bu dizinlerin bilgisi /etc/fstab dosyasinda yer alir. Açilis aninda bu dosyada hangi dosya sistemlerinin hangi dizinler altina yerlestirilecegi okunur ve buna göre makine açilir. Linux kendisi için özel olarak gelistirilen ext2 dosya sistemini kullanir. Bir sistem görevlisi olarak çesitli dosya sistemlerini tanimali, bu dosya sistemleri üzerinde hata olusmasi durumunda zarari en aza indirecek yolu bilmelisiniz. Bilgisayar basinda geçireceginiz zamaninizin büyük bir bölümünü dosya sistemleri üzerinde harcayacaksiniz. Mount Islemi: Bir dosya sisteminin kullanilabilmesi için bos bir dizin altina yerlestirilmesi gerekir. Ancak bu gerçeklesirse söz konusu dosya sistemini olusturan dosyalar üzerinde islem yapilabilir. Bu islem mount komutu yardimiyla yapilir. Mount komutu su sekilde kullanilir: Mount -t<tip><nereye><aygit> Tip: Dosya sitemi çesidi. örnek dosya sistem çesitleri arasinda ext2, minix, msdos sayilabilir. Genellikle mount programi ne tür bir diske eristigini otomatik olarak anlayacaktir. Nereye: mount edilecek dosya sisteminin hangi dizinin altina yerlestirilecegini belirtir. Aygit: üzerinde dosya sisteminin bulundugu sabit disk CD-ROM benzeri aygit. Linux’a bagli tüm donanimlara ait bir giris,/dev dizinin altinda bulunur. Bu dizin altindaki dosyalar özel olarak tanimlanmistir ve bunlara kisaca “dügüm” adi verilir. örnegin /dev/hda2, birinci IDE sabit diskin ikinci bölümünü; /dev/tty 1 ise birinci sanal konsolu gösterir. Bir dosya sistemini erisilebilir hale getirebilmek için hangi dügüm ismine sahip oldugunu bilmemiz gerekir. örnek olarak CD-ROM için /dev/cdrom, birinci disket sürücü için /dev/fd0 gibi. [b]CD-Rom sürücüsünü [/B]/mnt altina mount etmek için # mount -t iso9660 /dev/cdrom/mnt Yazilir. Eger çekirdekte CD-ROM dosya sistemi destegi varsa ve sistem açilirken çekirdek CD-ROM’u tanimissa /mnt dizini altinda CD’deki dosya sistemi yerlestirilir. Buna benzer bir sekilde MS-DOS disket içeren dike sürücüyü ve üzerinde ext2 dosya sistemi bulunan ikinci IDE sabit diskin birinci bölümünü sirasiyla /-mnt/disk dizinlerine bindirmek için; # mount -t msdos /dev/fd0/mnt/disket # mount -t ext2 /dev/hdb1/mnt/disk yazilabilir. Bir mount isleminin tersini yapmak ve dosya sistemini erisilmez kilmak için umount komutu kullanilir. /disk altindaki /dev/hdb1 sabit disk bölümünü umount etmek için # umount /disk veya # umount /dev/hdb1 kullanilir. Her iki yazim sekli de kabul edilir. Son olarak o an sistemde bindirilmis halde bulunan tüm dosya sistemlerini görmek için mount komutunu parametresiz yazalim. Mount ve umount komutlari ile bir dizin yapisini disk üzerinde konumlandirirken veya ayirirken üzerinde islem yapilan dizinde bulunmamali, ya da o dizinde baska bir süreç çalisiyor olmamalidir. Aksi takdirde asagidaki hata mesaji alinir: #pwd /disk #umount/disk umount:/dev/hdb1: device is busy Yapilmasi gereken, ayirilacak dizinden disari çikip tekrar denemek. Diger bir seçenek de fuser konutunu kullnamak. Bu komut, ayirmak istediginiz dizini kullanana tüm süreçleri ekranda gösterir. Böylelikle rahatlikla yukaridaki örnekteki gibi umount islemi gerçeklestirebilir. fuser komutunun -km seçenegi ile o dizini kullanan süreçleri öldürelebilir. #cd/ #fuser/disk /disk: 78c #fuser -km/disk #umount/disk fuser komutunu kullanirken dikkatli olama gerekir, zira sistemi kilitleme noktasina getirebilir. Dosya Sistemi Bilgileri, Dosya Sistemi Desteginin Eklenmesi, Dosya Sistemi Yaratilmasi ve Kontrolü, Sembolik Baglantilar, Sabit Baglantilar, Dosya Arsivleme ve *****tirma, Dosya Arsivleme, Dosya *****tirma ve Açma, Dosya Türleri, Birlikte Kullanim, Dizin Tarama, mtools MSDOS Arabirimi, Hakkında detaylı anlatımlarım ileri günlerde olacaktır lütfen diğer ders konularını bekleyin, diğer ders konularımız ile birlikte yukarıda anlatılanların tamamını gerçekleştirmiş olacaksınız.. Konu Burce tarafından (11 Aralık 2015 Saat 14:04 ) değiştirilmiştir. | |
|
Etiketler |
dosya, islemleri, linux, İşlemleri |
Konuyu Toplam 1 Üye okuyor. (0 Kayıtlı üye ve 1 Misafir) | |
| |
Benzer Konular | ||||
Konu | Konuyu Başlatan | Forum | Cevaplar | Son Mesaj |
Dosya Giriş Çıkış İşlemleri | MorfiN | PHP | 0 | 12 Mayıs 2012 09:33 |
Ncr Kasalar için Dosya İşlemleri Programı | DaDaS | Bilim Dünyasından Son Haberler | 0 | 13 Mart 2012 23:54 |
Dosya İşlemleri | YaRGuCi | C# | 0 | 09 Ocak 2012 22:36 |
PHP ile Dosya İşlemleri | toXic | PHP | 0 | 12 Mart 2010 13:16 |
Dosya İşlemleri Hakkında | Cappystarj0e | GNU, Linux ve UNIX | 3 | 22 Kasım 2007 07:26 |