Erre
29-11-2006, 19:59
Yazar: Joe Jampell
Uyarlama: Batuhan Kırımlı
Ders Konusu: Linux Dosya İşlemleri
Yayın Tarihi: 29.KASIM.2006
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 www yapmak için;
# chgrp www 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.www denem
$ ls-l deneme
-rwxr-xr-x 2 SAMET www 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.
Uyarlama: Batuhan Kırımlı
Ders Konusu: Linux Dosya İşlemleri
Yayın Tarihi: 29.KASIM.2006
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 www yapmak için;
# chgrp www 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.www denem
$ ls-l deneme
-rwxr-xr-x 2 SAMET www 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.
