Linux Dosya ve Klasör Komutları-3

Dark-Defender

Kıdemli Üye
17 Nis 2015
3,534
0
Zurich
chown[değiştir]
Bir dosya veya klasörün sahibini (kullanıcı olarak) değiştirmeye yarar. İstenirse çoklu dosya/klasör belirtimi yapılabilir. Örnek:

chown ayse Klasor dosya.txt
Bu komutla aktif klasördeki Klasor klasörünün ve dosya.txt dosyasının sahibi ayse olarak değiştirilir.

chgrp[değiştir]
chown komutuna benzerdir. Ancak chown komutundan farklı olarak dosya veya klasör(ler)in kullanıcı sahipliği değil grup sahipliği değiştirilir. Örnek:

chgrp disk Klasor dosya.txt
Bu komut aktif klasördeki Klasor klasörünün ve dosya.txt dosyasının sahibini disk denilen grup yapar. Pardus 2009.1'de tanımlı gruplar: users, disk, wheel, audio, dialout, video, pnp, removable, power ve pnpadmin'dir. Pardus'ta oluşturulan bir kullanıcı ön tanımlı olarak users grubuna dahil edilir. Açıkçası bir ev kullanıcısı için gerek chown, gerekse chgrp (özellikle chgrp) son derece gereksiz komutlardır. Bu komutlar daha çok yüzlerce kullanıcısı olan sistemler ve server görevi yapan bilgisayarlar için tasarlanmıştır.

NOT: chown veya chgrp ile bir klasörün bilgilerini değiştirdiğimizde bu, o klasörün içindeki dosya ve klasörlere etki etmez.

NOT: chown veya chgrp ile bir dosya veya klasörün özelliklerinde değişiklik yaptığınızda bunun sonucunu görsel arayüzlü dosya yöneticinizde görebilmeniz için "yenile" düğmesine veya F5 tuşuna basmanız gerekebilir.

NOT: Her Linux sisteminde root adında sınırsız yetkilere sahip olan bir kullanıcı vardır. İstersek chown ile bir dosya veya klasörün sahibini root yapabiliriz. Ancak normal şartlar altında bunu gerçekleştiremeyiz. Örneğin:

chown root Klasor dosya.txt
komutunu verdiğimizde komut istemi yetkimiz olmadığı gerekçesiyle bu işleme izin vermeyecektir. Bu engellemeyi aşabilmek için komut isteminde root moduna geçmeliyiz. Bunun için komut isteminde sudo su komutunu veririz:

sudo su
Bu komuttan sonra bizden root şifremiz istenecektir. Şifrenizi giriniz. Şifrenizi girerken ekranda şifre girdiğinizi belli edecek bir değişiklik olmaz. Ancak endişelenmeyin. Bu komut isteminin bir özelliğidir. Şifrenizi girip enter'a bastıktan sonra komut isteminde her komut beklenen satırın başında çıkan klasik kullanıcı@bilgisayar klasör $ yazısı bilgisayar klasör # olarak değişir. Bu değişim olduğunda root modundasınız demektir. Şimdi

chown root Klasor dosya.txt
komutunu verin. Artık aktif klasördeki Klasor klasörünün ve dosya.txt dosyasının kullanıcısını root olarak değiştirdiniz. Şimdi dosya.txt dosyasında değişiklik yapıp kaydetmeyi deneyin veya Klasor klasörünün içinde yeni bir dosya oluşturmayı veya içindeki dosyalardan birini silmeyi deneyin. Bunlardan hiçbirini başaramayacaksınız, çünkü bu dosya ve klasör artık root'un oldu. Linux sistemlerinde root olarak oturum başlatmak mümkün değildir. Bu güvenlik nedeniyle alınmış bir önlemdir. Çünkü root yetkilerine sahip bir kullanıcı sistemi çok kolay çökertebilir. Herhalde içeriği değiştirilemeyen bir klasör veya dosya istemezsiniz. O halde şimdi Klasor klasörünün ve dosya.txt dosyasının sahibini eskisine çevirin. Bunun için de root modunda olmanız gerekiyor.

chmod[değiştir]
Az önce bir dosya ve klasörün sahibini root yaptık. Bunun sonucunda normal kullanıcı olarak bu dosya ve klasörlerle ilgili çeşitli işlemlerden mahrum kaldık. Acaba bu engellemeler nasıl belirleniyor. Yani dosyanın sahibini root yaptığımızda dosyanın içeriğini değiştiremeyeceğimizi kim belirliyor? İşte bütün bunları o dosyanın sahibi olan kullanıcı belirleyebiliyor. ls komutunun -l seçeneğini anlatırken dosya/klasör izinlerinden bahsetmiştik. Şöyle bir şeydi:

rwxr-x---
Buradan dosya/klasörün sahibinin dosya/klasöre her şeyi yapabileceğini, dosya/klasörün grup olarak sahibinin dosya/klasörü okuyup yürütebileceğini ama yazamayacağını, diğerlerinin ise dosya/klasörle ilgili hiçbir şey yapamayacağını anlamıştık. İşte chmod komutu ile bu izinleri değiştirebiliriz. Ama bunun için komut istemini dosya/klasörün sahibinin açması, eğer dosya/klasörün sahibi root ise root moduna geçilmesi gerekir. Şimdi dosya.txt dosyasının sahibini root yapalım, ancak tabii ki önce root moduna geçelim:

chown root dosya.txt
Artık dosya.txt dosyasının içeriğini değiştirip kaydedemeyiz. Şimdi ls -l komutunu verelim ve çıktısına bakalım. Bizi ilgilendiren dosya.txt dosyasının izinleri. Bu dosyanın izinleri bende şu şekilde:

rw-r--r--
Yani dosyayı herkes okuyabiliyor, ama yazma işlemini sadece root yapabiliyor. Şimdi şu komutu verelim:

chmod og+w dosya.txt
Bu komutla other (diğerleri) ve grup sahiplerine yazma hakkı verdik. Şimdi siz users grubundaki birisi olarak veya bambaşka birisi olarak dosyayı değiştirip kaydetme iznine sahip oldunuz. (Dosyanın sahibini root olarak değiştirirken grup sahibine ellememiştik, grup sahibi users olarak kalmıştı.) Benzer şekilde bu verdiğimiz izinleri geri almak için

chmod og-w dosya.txt
komutu veririz. Başka bir örnek:

chmod ugo+wxr dosya.txt
Burada herkese bütün izinleri veriyoruz. Tahmin edebileceğiniz gibi bu komutlarda u harfi ilgili dosya veya klasörün kullanıcı olarak sahibini, g harfi grup olarak sahibini ve o harfi de diğerlerini belirtiyor. + işareti belirtilen kullanıcı(lar)a izin(ler) vermek istediğimizi - işareti de var olan izin(ler)i iptal etmek istediğimizi belirtiyor. Son olarak w, x, r harfleri de izin türlerini belirtiyor.

Notlar:

root kullanıcısı, ilgili dosya veya klasörün sahibi kim olursa olsun, bütün izinleri geçersiz kılma yetkisine sahiptir.
chmod komutuyla çoklu dosya/klasör belirtme yöntemi kullanılabilir.
x izini klasörler için çok önemlidir. Klasörün içini görme, veya görememe anlamına gelir. Yani dosya gizlemeyi bu şekilde Windows'tan çok daha güvenli bir şekilde yapabilirsiniz. root şifresini bilmeyen hiç kimse klasörün içindekileri göremez.
w izini klasörler için klasöre yeni bir dosya veya klasör ekleyebilme veya var olan dosya/klasörü silebilme anlamına gelir.
r izini klasörler için pratikte x ile aynı anlama geliyor. Pardus'ta x izniniz olmayan bir klasöre girdiğinizde klasörün durum çubuğunda "erişim engellendi" diyor. Ancak r izniniz olmayan bir klasöre girdiğinizde ise "dizine girilemedi" diyor. Ama sonuçta her iki durumda da o klasördeki dosya ve dizinleri göremiyorsunuz.
w izniniz olmayan bir dosyayı istediğiniz gibi silebilir veya taşıyabilirsiniz. w izni yalnızca dosyanın içeriğini değiştirmenizi kısıtlar.
r izniniz olmayan bir dosyayı açamazsınız, hatta dosyanın önizleme özelliği varsa (örneğin jpg dosyaları) önizlemesi bile kapatılır. Ayrıca r izni dosya/klasör kopyalamaya da engeldir ancak taşımaya engel değildir. Ancak bunun çözümü de basittir. Bir üst klasörün w iznini kapatırsınız.
x izni dosyalar için yalnızca çalıştırılabilir dosyalarda anlam kazanır. Örneğin kullanıcıların bir programı çalıştırmasını istemiyorsanız bu izni kapatırsınız. Çalıştırılabilir dosyalar için r izni çalıştırılabilir dosyanın makine kodunu görmek ve w izni de makine kodunu değiştirmek anlamına gelir.
Dosya/klasör özelliklerini değiştirdikten sonra normal görsel arayüzlü dosya yöneticide değişiklikleri görebilmem için birkaç kez F5'e basmam hatta bazen dosya yöneticiyi kapatıp açmak zorunda kaldım, sizde de benzer durumlar olursa telaşlanmayın.
Varsayılan durumda çalıştırılabilir dosyaların kullanıcı ve grup sahibi root'tur ve grup ve other kullanıcıları için x ve r izinleri açılmış ama w izni kapatılmıştır. Çünkü bir çalıştırılabilir dosyanın makine kodunu değiştirdiğiniz zaman program bozulabilir.
x izni klasörler için tıpkı r gibi kopyalamaya engel ama taşımaya engel değildir.
Diyelim ki her türlü izne sahip olduğunuz bir klasör var. Ama bu klasörün içindeki bir dosyaya r izniniz yok ve klasörü kopyalamak istiyorsunuz. Bu durumda klasörü, içinde o dosya olmadan kopyalayabilirsiniz. Yani diğer dosyaları hatasız bir şekilde kopyalarsınız.
x izni dosyalar için kopyalama ve taşımaya engel değildir.
Burada hep dosya/klasör sahibini root yapıp izinleri değiştirerek root şifresini bilmeyen kullanıcılara çeşitli kısıtlamalar getirilmesini sağladık. Ama elbette ki bunu illaki bu şekilde yapmak zorunda değilsiniz. Örneğin sisteminizde iki normal kullanıcı var. Kendinize ait olan dosyaların izinleriyle oynayarak sistemdeki diğer kullanıcının dosyalarınızla serbestçe oynamasına engel olabilirsiniz.
Pardus 2009.1'de dosya ve klasörlerin varsayılan izinleri şu şekildedir: rwxr-xr-x. Yani varsayılan durumda sisteminizdeki diğer kullanıcılar dosya ve klasörlerinizi görebilir ama değiştiremezler.
Linux'ta mevcut dosya ve klasörlerle işlem yapan ve çoklu dosya/klasör işleme yeteneğine sahip olan bütün komutlarla ? ve * joker karakterleri kullanılabilir. Örnekler:
mv *.jpg "Resim Dosyaları"
chmod ugo+rwx *~
Birinci komutta aktif klasördeki bütün jpg uzantılı dosyalar "Resim Dosyaları" klasörüne taşınıyor. İkinci komutta da sonu ~ ile biten dosyaların (yedekleme dosyaları) izinleri herkese açılıyor.

17. İstersek joker karakter kullanabileceğimiz bütün komutlarda joker karakterli belirtimle birlikte normal belirtim de yapabiliriz. Örnek:
chgrp wheel ?b* dosya.txt
Bu komutla ikinci harfi b olan dosya/klasörler ve dosya.txt dosyasının grup sahibi wheel olarak değiştiriliyor.

cp *.jpg *.png *.gif "Resim Dosyaları"
Bu komutla uzantısı jpg, png ve gif olan tüm dosyalar Resim dosyaları klasörüne kopyalanıyor.

mv *.odf word.doc dene.htm Belgeler
Bu komutla odf uzantılı tüm dosyalar, word.doc dosyası ve dene.htm dosyası Belgeler klasörüne taşınıyor.

18. Eğer bir dosya veya klasörün isminin değiştirilememesini istiyorsak bir üst klasörün w iznini kapatırız.
19. Şimdiye kadar öğrendiğimiz komutlar içinde çoklu dosya/klasör belirtimine izin verenler: ls, mkdir, rmdir, touch, cp, mv, rm, chown, chgrp ve chmod. Yani cd ve pwd hariç hepsi. Zaten bu iki komutun mantıksal olarak çoklu dosya/klasör belirtimine izin vermeleri mümkün değil. Zaten pwd komutu argüman bile almıyor.
tar[değiştir]
tar, Linux'ta dosya/klasör arşivlemeye yarayan bir komuttur. Yani Windows'taki Winrar'a benzer. Ancak dikkat: bu komut bir veya birden fazla dosya veya klasörü bir arşiv dosyası içinde saklamaya yarar. Sıkıştırma yapmaz. Örnek kullanım:

tar cvf yedek.tar dosya.pdf deneme.txt Klasor
Bu komutla dosya.pdf, deneme.txt dosyaları ve Klasor klasörü yedek.tar dosyasında arşivlenir. Elbette ki dolaylı olarak Klasor klasöründeki dosya ve klasörler de bu arşive girmiştir. Şimdi şu komutu vererek arşivdeki dosya ve klasörleri dışarı çıkaralım:

tar xvf yedek.tar
Bu komut yedek.tar dosyasındaki tüm dosya ve klasörleri aktif klasöre çıkaracaktır.

tar komutu parametreleri

-c Create: tar dosyasının yaratılacağını belirtir.

-x Extract: bir tar dosyasının açılacağını belirtir.

-t Tabel of contents: bir tar dosyasının iceriğinin listeleneceğini belirtir.

-v Verbose: bir tar dosyasının yaratılırken ya da açılırken elden geçen dosyaların isimlerini ekrana listelemek icin kullanılır.

-z tar dosyasinin sıkıştırılmış bir dosya olarak kullanılacağını belirtir.Gunzip kullanılacaktır.

-f File: yaratılacak,açılacak ya da içindekiler tablosu listelenecek tar dosyasının adının komut satırında verileceğini belirtir.

gzip[değiştir]
tar dosyalarını sıkıştırmaya yarar. Örnek:

gzip yedek.tar
Bu komutla yedek.tar dosyanızın adı artık yedek.tar.gz olur. Bu yöntem dosyalarınızı az da olsa sıkıştırmaya yarar. Benim arşivimi 40.8 MB'tan 40.4 MB'a sıkıştırdı :) Şimdi bu sıkıştırdığımız arşivi eski haline getirelim:
 
Üst

Turkhackteam.org internet sitesi 5651 sayılı kanun’un 2. maddesinin 1. fıkrasının m) bendi ile aynı kanunun 5. maddesi kapsamında "Yer Sağlayıcı" konumundadır. İçerikler ön onay olmaksızın tamamen kullanıcılar tarafından oluşturulmaktadır. Turkhackteam.org; Yer sağlayıcı olarak, kullanıcılar tarafından oluşturulan içeriği ya da hukuka aykırı paylaşımı kontrol etmekle ya da araştırmakla yükümlü değildir. Türkhackteam saldırı timleri Türk sitelerine hiçbir zararlı faaliyette bulunmaz. Türkhackteam üyelerinin yaptığı bireysel hack faaliyetlerinden Türkhackteam sorumlu değildir. Sitelerinize Türkhackteam ismi kullanılarak hack faaliyetinde bulunulursa, site-sunucu erişim loglarından bu faaliyeti gerçekleştiren ip adresini tespit edip diğer kanıtlarla birlikte savcılığa suç duyurusunda bulununuz.