Sunum yükleniyor. Lütfen bekleyiniz

Sunum yükleniyor. Lütfen bekleyiniz

LİNUX’TA KULLANICI VE DOSYA-DİZİN İŞLEMLERİ

Benzer bir sunumlar


... konulu sunumlar: "LİNUX’TA KULLANICI VE DOSYA-DİZİN İŞLEMLERİ"— Sunum transkripti:

1 LİNUX’TA KULLANICI VE DOSYA-DİZİN İŞLEMLERİ

2 KULLANICI İŞLEMLERİ Linux işletim sisteminde birden çok ve farklı yetkilerde kullanıcılar oluşturu­labilir ve bu kullanıcılar aynı anda veya farklı zamanlarda sisteme bağlanıp, yetkileri çerçevesinde, kendi işlemlerini yürütebilirler. Tüm kullanıcılar arasın­da, hiç bir kısıtlamaya tabi olmayan root kullanıcısıdır. Çok kullanıcılı sistemlerde, belirli kullanıcı politikaları oluşturmanın diğer bir yolu da grup (group} kullanmaktır. Dosya ve dizinleri yazma/okuma ve çalıştırma işlemleri grup bazında da yapılabilir. Sistem kullanıcısı oluşturmak için: useradd alper Sistem kullanıcısna şifre atamak için: passwd alper

3 Aynı zamanda chage komutuyla parola süresi değiştirilebilir
Aynı zamanda chage komutuyla parola süresi değiştirilebilir. Örneğin Ali kullanıcısının parolasının süresinin 27 Ağustos 2014 de dolması isteniyorsa chage -E 2014/08/27 ali komutu kullanılmalıdır. Whoami hangi kullanıcı ile giriş yapılmış öğrenilir. Ve who komutları yazılarak hangi kullanıcılar sistemde olduğu öğrenenilebilir.

4 Yukarıdaki komut girildiğinde, öntanımlı olarak home dizini altında alper {/home/alper) adlı bir dizin oluşur. Bu dizin kullananın kendi dizinidir. Şayet alper kullanıcısı için farklı bir home dizini tanımlanacaksa: -d parametresiyle home dizini elle tanımlanır. -p parametresi kullananın giriş şifresini atamak için; -g kullanıcının atanacağı grubu belirlemek için; -s kullanıcının ön-tanımlı kabuğunu seçmek için kullanılır. Sistem kullanıcısını silmek için: userdel alper

5 Grup oluşturmak için: groupadd yöneticiler Grup silmek için: groupdel yöneticiler Bir kullanıcıyı grubunun atayarak oluşturmak: useradd -g yönetici alper Kullanıcının ait olduğu grubu teyit etmek için: id alper Grup adını değiştirmek için: groupmod -n admins yöneticiler Bir kullanıcının grubunu değiştirmek için: usermod -g admins alper Bir kullanıcının grubunu görmek için: groups alper Bir kullanıcıyı kilitlemek için: usermod alper Kilitli bir kullanıcıyı yeniden etkinleştirmek için: usermod -u alper

6 Sistemde var olan kullanıcıları ve bu kullanıcılara ait bir takım bilgiler /etc/passwd dosyasında tutulur. Bu dosyada tutulan ve birbirleriyle ile ayrılan bilgileri sırayla yazalım. Kullanıcı adı Şifre (Sadece x olarak görünür.) Kullanıcı tanımı/ID (Her kullanıcıya ait farklı bir sayıdır.) Grup tanımı/ID Bilgi/tanıtım home dizini (ön tanımlı olarak /home/<kullanici_adi>) Ön tanımlı kabuk Kullanıcı İşlemleri ve Hakları /etc/shadow kullanıcı şifrelerinin kriptolu olarak tutulduğu dosyadır. etc/group ise grup bilgilerinin saklandığı dosyadır. Bu dosyada yer alan bilgi­ler ise: Grup adı Grup şifresi (Çok nadir kullanılır.)

7 Kullanıcılar Terminal ekranında kullanıcınızı değiştirmek için: su alper Yukarıdaki komutu girdiğinizde sizden alper kullanıcısının şifresini isteyecek­tir. Şifreyi girdikten sonra artık terminal üzerinde alper kullanıcısının hakla­rım kullanarak işlem yapmaya devam edeceksiniz. exit komutu verilerek kullanıcı çıkış yapabilir. Eğer başka bir kullanıcı ol­mak isteyen kullanıcı root ise herhangi bir şifreye gerek olmadan istediği kul­lanıcı olarak devam edebilir. Herhangi bir kullanıcı root olmak isterse, satıra önce su komutunu girip ro­ot şifresini girmesi gerekecektir.

8 Dosya ve Dizinlere Erişim
Sistemde tanımlı her kullanıcı her dosyaya erişemez. Zira herkes her yere eri­şecekse, farklı kullanıcılar oluşturmanın bir anlamı kalmaz. Linux, bir dosyaya erişimi üç sınıfa ayırır. Bunlar: Okuma hakkı Yazma hakkı Çalıştırma hakkı Böyle bir sınıflandırma sayesinde kullanıcıların, “ya hep ya hiç” yerine kısmi haklarla erişimine imkan sağlanmış olunur. Bir dosyanın sahibi, doğal olarak o dosyayı oluşturan kullanıcıdır. Dosya sa­hibinin o dosyayı okuma, yazma ve çalıştırma hakkı vardır.

9 d varsa dizin olduğu anlaşılır.
Bir dosyaya erişecek kullanıcılar şu şekilde sınıflandırılır: Dosya sahibi Dosya sahibinin grubundaki kullanıcılar Diğer kullanıcılar Bir dosyanın erişim haklarım görmek için ls -l komutu kullanılabilir. ls -l dosyam - rwxr-x--x- 1 alper admins 0 Apr :10 dosyam r harfi okuma hakkını; w harfi yazma hakkını; x ise çalıştırma hakkını işaret eder. Detaylı listeleme (ls –l) yaptığımızda listelenenlerin başında – varsa dosya, d varsa dizin olduğu anlaşılır.

10 -rwxrw-r-- İzinlerin belirtildiği kısım Dosyanın sahibi Grup
Diğer kullanıcılar -rwxrw-r--

11 Şimdi yukarıdaki dosyanın erişim hakkım anlamaya çalışalım: Sahibi Grubu Diğer -rwx r-x —x Bu dosyanın sahibi okuma, yazma ve çalıştırma (rwx} hakkına sahiptir. Dosya sahibiyle aynı gruba dahil olanlar okuma ve çalıştırma (r-x) hakkına sahiptir. Diğer tüm kullanıcılar ise sadece çalıştırma (--x) hakkına sahiptir. Dosya sahibi veya root kullanıcısı bir dosyanın erişim özelliklerini chmod ko­mutuyla dilediği gibi değiştirebilir. Bu komut kullanılırken: u: Kullanıcıları (user) g:Grubu (group) o: Diğerlerini (other) işaret eder.

12 Örneğin dosya sahibi [u: user) kendisini dosyasını çalıştırmaktan mahrum bırakmak isterse: chmod u-x dosyam Kendisine tekrar çalışma hakkı vermek isterse: chmod u+x dosyam Dikkat edileceği gibi ilgili hakkı kaldırmak; ise o hakkı vermek için kullanılır. Şimdi grup kullanıcılarının çalıştırma ve okuma hakkım kaldıralım: chmod g-rx dosyam

13 Grup kullanıcılarına tüm hakları verelim:
chmod g+rwx dosyam Diğer kullanıcıların okuma hakkım kaldıralım: chmod o-r dosyam chmod komutunu sadece dosyalar için değil, aynı zamanda di­zinler için de kullanabiliriz. Bunun için -R parametresi kullanmamız yeterlidir. "root" kullanıcısı chown ile herhangi bir dosyanın sahibini de değiştirebilir. Örneğin aşağıda, "alper" kullanıcısına ait olan dosyayı root kullanıcısı "kemal" kullanıcısına vermiştir. chown kemal /home/alper/dosyam

14 Örneğin “alper” kullanıcısının tüm dosya ve dizinlerini “kemal” kullanıcısı­na vermek için: chown kemal -R /home/alper/ Benzer şekilde dosyanın grubunu değiştirmek için: chgrp yöneticiler /home/alper/dosyam Dosya sahibini ve grubunu tek hamlede değiştirmek için: chown kemal yöneticiler /home/alper/dosyam Ev dizinimizde belge1 adında bir dosya olsun. Bu dosyayı değiştirilemez yapmak için : chattr +i belge1 komutunu kullanabiliriz. Tekrar eski haline getirmek için chattr +i belge1

15 SAYISAL TANIMLA İZİN DEĞİŞTİRME
chmod izin kodu dosya/dizin Diğerleri için çalıştırma 0001 Diğerleri için yazma 0002 Diğerleri için okuma 0004 Gruptakiler için çalıştırma 0010 Gruptakiler için yazma 0020 Gruptakiler için okuma 0040 Dosya sahibi için çalıştırma 0100 Dosya sahibi için yazma 0200 Dosya sahibi için okuma 0400 İzin durumu Kod Diğerleri o Grup g Dosya sahibi u Kullanıcılar Sembolik Kod

16 Sayısal tanımla izin değiştirme
Dosya sahibine okuma izni Dosya sahibine yazma izni Gruba okuma izni Diğerlerine okuma izni Toplam # chmod 644 orn.dat

17 Örnekler chmod 674 adosya chmod 700 adosya
-rw-rwxr– 1 seckin users 0 Nov 15 00:11 adosya chmod 700 adosya -rwx seckin users 0 Nov 15 00:17 adosya

18 cd komutundan sonra bir boşluk bırakıp .. yazmanız gerekir
Temel Dizin İşlemleri cd komutundan sonra bir boşluk bırakıp .. yazmanız gerekir Yeni dizin oluşturmak için: mkdir yeni_dizin Bir alt dizine geçmek için: cd alt_dizin Bir üst dizine çıkmak için: cd .. İki dizin arasında kolay geçiş yapmak için: cd – (örneğin home dizinindeydim /tmp dizine geçtim. Tekrak home dizinine döndüm. ) Kök dizine doğrudan geçmek için: cd / Bulunan dizine ait yolu (path) görmek için: pwd Bulunulan dizin altındaki dosya ve dizinlerin listesini görüntülemek için: ls Ayrıntılı listeleme yapmak için (kullanıcı hakları, dosyanın sahibi, tarih vb. bilgiler içerir): ls -l

19 İsminde “tr” karakteri içeren dosya dizinleri listelemek için: ls ‘tr’ tr iie başlayan dosyaları listelemek için: ls tr? Bulunulan dizini alt dizinlerindeki varlıklarla birlikte listelemek için: ls -lRt

20 TEMEL DOSYA İŞLEMLERİ Bir metin dosyayı okumak için: cat metin_dosya Bir metin dosyayı sayfa sayfa okumak için: more metin_dosya Bir metin dosyayı sayfa sayfa ileri geri alabilerek okumak için: less metin_dosya Bir metin dosyasının baştan ilk on satırını okumak İçin: head metin_dosya Bir metin dosyasının baştan belirli sayıda (örneğin 25) satırını okumak için: head -25 metin_dosya Bir metin dosyasının sondan ilk on satırım okumak için: tail metin_dosya

21 Bir metin dosyasının sondan belirli sayıda (örneğin 25) satırını okumak için: tail -25 metin_dosya Özellikle log dosyalarına bakmak için tail çok kullanışlı bir araçtır. Terminal ekranında metin dosya oluşturmak için: cat > metin_dosya 62 Tekrar komut satırına düşmek için Ctrl+D tuş takımına basılır. Mevcut bir metin dosyaya ilave yapmak için: cat >> metin_dosya Birden fazla metin dosyayı tek bir dosyada birleştirmek için: cat metin_dosya1 metin_dosya2 >> metin_dosya Bulunulan dizinde boş dosya oluşturmak için: touch bos_dosya Bir dosya içerisindeki satır sayısını saymak için: wc -l metin_dosya

22 Dosya İçerisindeki kelime sayısını hesaplamak için "-w", karak­ter sayısını hesaplamak için "-c" parametresi kullanılır. Bir dosyanın kopyası çıkarmak için: cp asıl_dosya kopya_dosya veya cp asıl_dosya /hedef_dizin/kopya_dosya Bir dizinin kopyası çıkarmak için: cp -rf asıl_dizin kopya_dizin veya bir üst dizin içerisine kopyalayalım: cp -rf asıl_dizin /kopya_dizin Bir dosyayı başka bir dosyaya taşımak İçin: mv asıl_dizin taşınmış_dizin Kopyalanacak dosyanın bulunduğu adres yazılmalı Dosyayı kopyalayacağımız adres yazılmalı

23 rm silinecek dosya rm –r silinecek dizin

24 STANDART GİRİŞ-ÇIKIŞ VE HATA
Linux işletim sisteminde standart giriş birimi klavyemizdir. Standart çıkış bi­rimimiz ise çalıştığımız terminal ekranımızdır. Ancak girişimizi klavye yerine bir dosyadan alabileceğimiz gibi, çıktımızı ise ekran yerine bir dosyaya gön­derebiliriz.

25 Linux İşletim sisteminde standart girdi, çıktı ve hata birer sayıyla ifade edilir.
Standart Girdi: Klavye: 0 Standart Çıktı: Ekran: 1 Standart Hata: 2 Örneğin terminale ls komutunu girdiğimizde standart olarak sonucu ekranı­mıza gönderir. Ancak biz istersek bu komutun çıktısını bir dosyaya yazdıra­biliriz. Örneğin: ls > ls.txt

26 Yukarıdaki komutu girdiğimizde ls
Yukarıdaki komutu girdiğimizde ls.txt dosyası yoksa da otomatik olarak oluşacaktır. Ancak daha önceden bu dosya içerisinde her ne varsa tümü yok olacaktır. Peki, önceki bilgilerin yok olması engellemek için ne yapabiliriz? ls >> ls.txt Böylece ls.txt dosyasının var olan içeriği yok etmeden, son satırdan itiba­ren eklenmek üzere çıktımızı göndermiş olduk. cat komutu normalde girdisini klavyeden alır. Ancak biz girdi yönlendirmey­le cat komutunun bir dosyayı okuyup terminal ekranına yazmasını sağlaya­biliriz. cat << ls.txt

27 Benzer biçimde, bir komutun çıktısını başka bir komuta girdi olarak vermek de mümkündür. Bunun için "komutlar arasında boru (pipeline | ) kullanılır. ls –l | wc –l Peki biz bu standart hata girdi çıktı vb. komutu sunucu yönetiminde nerde kullanabiliriz? Örneğin bir dosya inceleyeceğimiz zaman bu dosya içerisinde oluşan hataları başka bir dosyaya aktarmak isteyebiliriz. Cat /var/log/access.log >>2 dosya.txt

28 Peki başka bir dosyaya aktarmak yerine hataları görmek istemezsek yani sadece rapor dosyasında hata raporunun haricindeki kayıtları görmek istersek: cat <<2 /dev/null dev/null : linux un karadeliği gibi düşünebiliriz. Yani dev/null içerisine ne gönderirsek ne kaydedersek bulunmayacak üzere kaybolur.

29 Arşivleme, Sıkıştırma ve Şifreleme
tar (Tape archive) ve gzip (GNU zip) Kendi formatında dosya arşivi oluşturmayı sağlayan ve Linux/Unix işletim sistemlerinde oldukça yaygın olarak kullanılan arşivlerde aracıdır. Tek başı­na kullanılabileceği gibi genellikle gzip, bzip2 gibi bir sıkıştırma aracıyla bir­likte kullanılır. Şimdi dosyalarım adlı dizinimizi tar ile tek bir dosyaymış gibi arşivleydim. tar -cvf dosyalarım.tar dosyalarım Arşivlediğimiz bir dizini yeniden açmak için ise: tar -xvf dosyalarım.tar

30 gzip (GNU zip) \ Bİr GNU projesi olan gzip ise dosyalarımız sıkıştırmaya yarayan ve tıpkı tar gibi oldukça sık kullanılan bir araçtır, gzip, bir dosyayı sıkıştırmadan önce CRC-32 sağlama toplamını (checksum) alır ve sıkıştırılan dosya yeniden açıl­dığında sağlama toplamını yeniden alarak orjinal haliyle arasında bir fark var mı diye kontrol eder. Şimdi gzip ile deneme adlı dosyamızı sıkıştıralım. gzip deneme Sıkıştırma sonrasında deneme adlı dosyamız kaybolacak ve yerine deneme. gz adlı dosyamız oluşacaktır. Sıkıştırdığımız bir dosyayı yeniden açmak için ise: gunzip deneme. gz tar ve gzip'i birlikte Kullanmak Pratikte arşivlediğimiz bir dizini sıkıştırmak bize yer tasarrufu sağlar. Üstelik bu tür dizinleri bir ağ ortamında başkalarıyla da paylaşacaksak sıkıştırma da­ha önem kazanır.

31 Şimdi bir dizini tek bir hamleyle hem arşivleyip, hem de sıkıştıralım, tar ko­mutuna -z parametresi verdiğimizde gzip’i otomatik olarak çağıracaktır. tar -czf dosyalarım.tar.gz dosyalarım Hangi dosyaları arşivleyip sıkıştırdığımızı görmek için: tar -tzf dosyalarım.tar.gz dosyalarım / dosyalarım /deneme3 dosyalarım /deneme2 dosyalarım /deneme1 Arşivleyip sıkıştırdığımız dosyalan yeniden açmak için ise: tar -xzf dosyalarım.tar.gz

32 Dosya ve Dizin Arama find Komutu Sahip olduğu çok fazla parametre sayesinde her yönüyle arama yapma imka­nı sağlayan bir komuttur. Bulunulan dizinde “tr” ile başlayan tüm dosya veya dizinleri bulup listele­mek için: find .-name 'tr*' Eğer sadece “tr” ile başlayan dosya bulup listelemek istersek: find . -name ‘tr*’ -type f Eğer sadece “tr” ile başlayan dizin bulup listelemek İstersek: find . -name 'tr*' -type d Eğer dosyamızı bulunduğumuz dizin yerine tüm dizinler İçinde aratmak ister­sek: find / -name "dosyam" -type f -print

33 Eğer dosyamızı bulunduğumuz dizin yerine belirli bir dizin içinde aratmak is­tersek: find /home/alper -name "dosyam" -type f -print var dizini altında son yarım saatte oluşturulan veya değiştirilen dosyalan lis­telemek için: find /var/ -cmin 30 -print Eğer sy uzantılı dosyaları buldurup, sildirmek istersek: find / -name "*.sy" \ xargs rm

34 locate Belirli aralıklarla dosya ve dizilerin indeksini tutan ve böylece find komutun­dan çok daha hızlı cevap veren arama komutudur. Ancak find komutu gibi ayrıntılı arama yapılamaz. Sadece isme göre yapılacak aramalar için daha kullanışlı ve hızlı bir komuttur. Kullanımı basitçe: locate dosyam

35 ALIŞTIRMA SORULARI Kullanıcı şifrenizi değiştiriniz.
Başka bir kullanıcının hesabıyla giriş yapınız. paylasim adında bir dizin oluşturunuz. Bu dizin içerisine ogrnoad-soyad.txt adında bir dizin oluşturunuz. Bu dosyanın içerisine Adınız soyadınız ve memleketinizi yazınız. ogrnoad-soyad.txt dosyasını sıkıştırıp arşivleyiniz. ogrnoad-soyad.doc adına bir dosya oluşturunuz. Bu dosyanın sahibini başka bir arkadaşınız yapınız. Dahil olduğunuz grubu öğreniniz.

36 paylasim klasörünü tüm kullanıcılar için okuma yazma ve çalıştırma hakkı veriniz.
paylasim klasörüne ogrnoad-soyad.txt dosyasını gönderiniz (kopyalayınız). var dizini altında access dosyasını aratınız. /home dizini altında 12 ile başlayan dizinleri listeleyiniz / dizini altındaki dosya ve klasörleri ayrınıtılı bir şekilde listeleyiniz. / dizini altındaki dosya ve klasörleri tüm alt varlıkları ile listeleyeniz. / dizini altındaki tüm dizinleri oluşturacağınız liste.txt adında bir dizini yazdırınız. /var/log dizini altındaki error dosyasının içeriğini oluşturacağınız hata.txt dizinine aktarınız.

37 KAYNAKLAR Linux Sistem ve Ağ Yönetimi (Linux başucu Kitapçığı) Alperen ÖZBİLEN


"LİNUX’TA KULLANICI VE DOSYA-DİZİN İŞLEMLERİ" indir ppt

Benzer bir sunumlar


Google Reklamları