Linux Dersleri 12. Access control list (ACL)

Access control list yani ACL bize herhangi bir dosya veya klasöre özel ek izinler eklememizi sağlar. Örneğin yarattığımız bir dosya sadece root kullanıcısı ve grubundayken bu dosyaya belli bir kullanıcı veya gruba yetki tanımlayabiliriz

setfacl komutu ile herhangi bir dosya ya da klasöre yetki verebiliriz.

Ör : setfacl -m u:kullaniciadi:rwx /dosyayeri/dosyaadi

Yukarıdaki örnekte m modify yani değiştirme anlamına gelir u komutunu kullanarak dosya aclsinde user yani kullanıcı yetkisi değiştirmek istediğimizi belirtiriz kullaniciadi’dan sonra gelen iki nokta üst üsteden sonrada vermek istediğimiz yetkileri belirtiriz. Bu örnekte rwx dir yani read write ve execute (okuma, yazma, çalıştırma) en sonda da bir boşluk bırakıp acl’sini değiştirmek istediğimiz dosya ya da klasörün adını yazarız.


Eğer herhangi bir gruba yetki vermek istersek u yerine g harfini kullanarak grup adını yazarız

Ör : setfacl -m g:grupadi:rwx /dosyayeri/dosyaadi


Eğer herhangi bir klasörün altındaki tüm dosya ve dizinlerin aclsini değiştirmek istiyorsak R harfini ekleriz

Ör : setfacl -Rm g:grupadi:rwx /klasör


Eğer herhangi bir kullanıcı veya grubu aclden çıkarmak istiyorsak x harfini kullanırız

Ör : setfacl -x g:grupadi /klasör


Eğer bir dosya veya klasördeki tüm acl ayarlarını kaldırmak vistiyorsak b harfini kullanırız

Ör : setfacl -b /klasör

getfacl komutuyla istediğimiz dosyanın aclsini görebiliriz

Ör : getfacl /klasöradı/dosyadi

Not:

  • Herhangi bir dosyaya acl yetkisi verdiğimiz zaman ls -l yaptığımızda dosyanın izin yetkileri kısmında (+) artı işareti gözükür.
  • Acl de ” w ” write yani yazma yetkisi verilse dahi sadece dosya sahibi dosyayı silebilir.
İşletim sistemleri, Linux kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın

Linux Dersleri 11. Dosya / Klasör sahiplenme komutları (chown, chgrp)

Bir dosya veya klasörün 2 sahibi olur. Bunlardan ilki user yani dosyayı yaratan kullanıcıdır. İkincisi ise gruptur. Bu da kullanıcının dahil olduğu grubtur. Eğer kullanıcı 2 gruba dahilse ve örneğin bunlardan sadece birinde write yani yazma yetkisi varsa

Herhangi bir dosyanın kullanıcısını değiştirmek için chown komutunu kullanırız

Ör : chown root /home/faruk/faruk.txt

faruk.txt adlı dosyanın kullanıcısını root yaptık.

-R opsiyonu chown veya chgrp komutunu uyguladığımız dosyanın alt klasör ve dosyalarına uygulamamızı sağlar.

Ör : chown -R root /home/faruk/birklasor

birklasor adlı klasörümüzün ve altındaki tüm klasör ve dosyaların grubunu root yaptık.

Not: Üst klasördeki group yetkileri her zaman alt klasördeki yetkiyi geçersiz kılar örneğin /home/faruk klasörünün group yetkisi faruk kullanıcısında olsun bu klasörün altındaki herhangi bir dosya başka kullanıcı veya group yetkisinde olsa bile üzerinde işlem yapabilirsiniz.

İşletim sistemleri, Linux kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 10. Dosya ve klasör izinleri (chmod)

Linuxda 3 temel izin tipi vardır bu windowsdakine çok benzer

w : write yani yazma

r : read yani okuma

e : execute yani çalıştırma

Her izin 3 farklı seviyede kontrol edilebilir.

u : user yani kullanıcı

g : group yani grup

o : other diğerleri anlamına gelse de sistemdeki herkesi kapsar.

ls -l komutunu kullandığımızda en sol sütunda her dosya ve klasör için bu izinler yazar.

Ör : -rwxrwxrwx

Bu örnekteki ” – ” elemanın dısya olduğunu gösterir, ardından gelen ilk üçlü (rwx) kullanıcı izinlerini ikinci üçlü grup izinlerini üçüncü üçlü ise herkese açık olan izinleri gösterir. chmod komutuyla bu izinlerde değişiklikler yapabiliriz.

chmod kullanımı

chmodun kullanım şekli şu şekildedir;

chmod seviye +/- izintipi

Bunu bir örnekle açıklayalım örneğin sahibi olduğum faruk.txt dosyasının yetkileri şu şekilde olsun

-rwxrwxrwx

chmod g-r

yaptğımız zaman gruptan (g) r yani okuma yetkisimi kaldırır

chmod o-w

yaptığımız zaman herkesten yazma yetkisini kaldırır.

chmod u-x yaptığımız zaman herkesten çalıştırma yetkisini kaldırır

tam tersi şekilde ” – ” yerine ” + ” kullanırsak yetkileri geri verebiliriz.

chmod o+x

herkese çalıştırma yetkisini geri verdik.

chmod g+r

gruba okuma yetkisini geri verdik

chmod u+x

kullanıcıya okuma yetkisini geri verdik

aynı anda birden fazla izin tipi de belirlenebilir

chmod u+xw

gibi.

Not: Klasörlerde ” x ” yani çalıştırılabilir izninin olması cd vb. komutları uygulayabilmemizi sağlar

Aynı işlemi sayılarla da yapabiliriz.

Sayıİzin tipiSembol
0İzin yok—
1Çalıştırma–x
2Yazma-w-
3Çalıştırma ve yazma-wx
4Okumar–
5Okuma ve çalıştırmar-x
6Okuma ve yazmarw-
7Okuma, çalıştırma ve yazma

Ör: chmod 777 faruk.txt

faruk.txt dosyasına herkes okuma, yazma ve çalıştırma yapabilir.

Ör: chmod 755 faruk.txt

faruk.txt dosyasına sadece kullanıcısı her yetkiye sahiptir, grup ve diğer kişiler sadece okuma ve çalıştırma izinlerine sahiptir.

Not: 3 haneli sayıyla yetkileri belirlerken ilk sayı kullanıcıyı ikinci sayı grupu üçüncü sayı ise herkesi temsil eder.

İşletim sistemleri, Linux kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 9. Komut sözdizimi

Linuxda komut sözdizimi aşağıdaki şekildedir

komut opsiyon argüman

opsiyonlar genelde tire “-” ile başlar argüman ise komutumuzu daha detaylı kullanmamızı sağlar.

Bazı komutlar birden fazla opsiyon kabul edebilirler ve bunlar genelde tire ile gruplanır.

Ör: ls -ltr

Bazı komutlar default argümanlarla gelir bazı komutlarda argümanlar isteğe bağlıyken bazılarında zorunludur. Çoğu komut 1 veya daha fazla argümanla kullanılır

Ör: ls -ltr /home/faruk

ls : komut

-ltr : opsiyon

/home/faruk : argümandır

Herhangi bir komutun alacağı opsiyon ve argümanları öğrenmek için man komutunu kullanırız

Ör: man ls

Man komutu :

man komutu bize sayfalar halinde komutun argüman, opsiyonlarını ve komutun ne işe yaradığını gösteren bir manueldir. İçerisinde alt sayfalara sayfa sayfa gezinmek için ” space ” en alt sayfaya inmek için ” g ” ilk sayfaya dönmek için ” G ” çıkmak için ” q ” kullanırız.

Uncategorized kategorisine gönderildi | , , ile etiketlendi | Yorum yapın

Linux Dersleri 8. Hard ve Soft linkler

Hard ve softlinklere geçmeden önce inode kavramını anlamak gerekir. Inode dosyanın harddiskimizde işaret ettiği bir numaradır (pointer). Her dosyanın bir inode numarası vardır. Bir dosya yarattığınızda bir inode numarası oluşturulur ve harddiskinize kaydedilir. Bilgisayar daha sonra o dosyayla ilgili bir eylem yapmak istediğiniz inode numarasına bakarak dosyayı bulur, bir nevi harddiskinizin indeksidir.


Soft link yaratmak için;

-ln -s /klasöradı/dosyadı formatını kullanırız. Yarattığımız linke ls -l yapıp baktığımızda başında ” – ” veya ” d ” değil linki ifade eden ” l ” harfi görünür. Soft linkler windowsdaki shortcutlar gibidir. Ana dosya silinirse soft link çalışmaz, ana dosyadaki tüm değişiklikler soft linki etkiler.

-ls -ltri komutuyla en sol sütünda inodeları listeleyebiliriz. soft link yarattığımız zaman soft linkle esas dosyanın inodeları farklı olur. soft linkin inode’u harddiskteki dosyayı değil esasında dosyanın harddiskteki konumunu gösteren inode’a linktir. Bu yüzden esas dosyayı kaldırdığımızda o inode (yani harddiskte dosyanın yerini gösteren numara) kaybolacağı için soft link dosyayı bulamaz ve çalışmaz.

Hard link yaratmak için;

-ln /klasöradı/dosyaadı formatını kullanırız. Hardlinkte esas dosyamızın inodu yani pointerı ile hard linkin inode’u aynı olur bu yüzden esas dosya silinse bile dosyaya erişilebilir. Hard link yedek almakta büyük kolaylık sağlar.


Soft ve Hard linkler hakkında bilmemiz gereken birkaç kural

  • Soft ve hard linkler aynı klasör içinde yaratılamazlar.
  • Hard linkler sadece aynı partionda çalışır.
İşletim sistemleri, Linux kategorisine gönderildi | , , , , , , ile etiketlendi | Yorum yapın

Linux Dersleri 7. Wildcards (*, ?, ^, [],{},\,$ )

  • * wildcardı 0 veya daha fazla elemanı temsil eder örneğin rm abc* komutunu verdiğinizde başı abc olan bütün dosyaları kaldırır.
  • ? wildcardı tek karakteri simgeler örneğin find . -name te?t komutuyla home klasöründe adı text veya test olan bir dosyayı bulabiliriz ama tet veya terrot dosyalarını bulamayacaktır.
  • [] wildcardı içinde bulunan herhangi bir karaktere göre işlem yapar örneğin find . -name [ab]* diye arama yaparsak içinde bulunduğumuz klasörde başı a veya b olan bütün dosyaları bulur.
  • {} wildcardı ile süslü parantezimizin içine koşulları yazabiliriz

ör: find {*.doc,*.txt} bütün txt veya doc uzantılı dosyaları arar, koşullar birbirinden virgülle ayrılır.

ör: touch {faruk.txt} tam ad verebiliriz.

ör: touch faruk{1..9}.txt süslü parantezin içine yazdığımız verilerin birbiri ile alakasını da anlar, bu örnekte faruk1.txt,faruk2.txt … faruk9.txt gibi 9 tane dosya yaratır. Birden çok dosyada işlem yapmak istediğimizde çok yararlıdır.

  • \ windcardı escape yani yoksayma karakteridir. örnek olarak / karakterini ters eğik çizgi ile yoksaymazsanız çok farklı sonuçlar doğurur.
  • ^ wildcardı satır başını simgeler örneğin ^a a ile başlayanları simgeler
  • $ wildcardı satır sonunu simgeler örneğin $c cile bitenleri simgeler

İşletim sistemleri, Linux kategorisine gönderildi | , ile etiketlendi | Yorum yapın

Linux Dersleri 6. Linux’da arama yapmak

find: find komutuyla şu şekilde arama yapabiliriz find aramayapılacakyer -name “aranan şey”

ör: find . -name home

Bu örnekte . ile içindde bulunduğumuz klasörde home adlı klasör/dosyaları arar

ör: find / -name dev

root’ da dev adlı klasör veya dosyaları arar.

Eğer root kullanıcı değilseniz ya “su -” komutuyla root kullanıcısına geçmeniz ya da komutu sudo komutuyla (sudoers kullanıcısı iseniz) kullanmanız gerekir yoksa bazı klasörlere giremezsiniz ve komut hatalar verir.

ör: sudo find / -name dev

gibi

locate: locate komutunun kullanımı daha basittir “locate dosyaadı” gibi fakat find komutu gibi her dağıtımda otomatik olarak gelmez, kendiniz kurmanız gerekebilir. locate komutunu kurmak için

Debian tabanlı bir linux dağıtımı kullanıyorsanız

sudo apt install plocate

Centos 7 ve altı tabanlı bir linux dağıtımı kullanıyorsanız

yum install mlocate

Centos 8 ve üstü veya fedora tabanlı bir linux dağıtımı kullanıyorsanız

dnf -y install mlocate

Arch tabanlı bir linux dağıtımı kullanıyorsanız

pacman -Ss locate

komutlarını terminalden girerek kurmanız gerekebilir. Ayrıca locate’in veritabanını

sudo update db

komutuyla güncellemeniz gerekebilir.


find & locate farkları

  • locate bir dosyayı ararken bir database kullanır find komutuysa dosya sistemi içinde teker teker arama yapar bu yüzden locate komutu daha hızlıdır.
  • locate database kullandığı için database’in düzenli olarak güncellenmesi (sudo updatedb komutuyla) gerekir yoksa yanlış sonuç verebilir
İşletim sistemleri, Linux kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın

Linux Dersleri 5. Dosya ve klasör yaratmak

Kullanılan komutlar;

  • touch: touch komutuyla herhangi bir dosya yaratabiliriz, touch dosya veya uzantılı olmasını istiyorsanız touch dosya.txt gibi. Touch komutuyla birden fazla dosya da yaratılabilir touch dosya1 dosya2 dosya3 gibi.
  • cp: cp komutu copy yani kopyalama fonksiyonudur. kullanımı cp /klasor/dosya1.txt /klasor/dosya2.txt gibidir. klasör kopyalamak için cp den sonra -R argümanını koyarız. -R recursive yani tekrarlanan demektir. Eğer -R parametresini koymazsanız hata alırsınız.
  • vi : vi her linux sürümünde gelen linuxun default text editörüdür. Kullanımı vi dosya şeklindedir. Enter’a bastığınız anda vi editörüyle dosya yaratılır ve dosyanın içine girilir. Editörden çıkmak için :wq yazılır
  • mkdir klasör yaratmaya yarar. Kullanımı mkdir klasöradı şeklindedir.
İşletim sistemleri, Linux kategorisine gönderildi | , , , ile etiketlendi | Yorum yapın

Linux Dersleri 4. root

Linuxda root 3 farklı şeyi ifade etmektedir ve bu bazen kafa karışıklığına sebep verebiliyor. Bu 3 şeye kısaca değinelim

  1. root user (root kullanıcısı) : Linux sistemininizin tüm yetkilerine sahip kullanıcıdır
  2. root directory (root dizini) : Linux’un ana klasörünü ifade eder ” / ” dir
  3. root home directory (root kullanıcı klasörü): root kullanıcısının diğer kullanıcılar gibi bir ana klasörü vardır bu diğer kullanıcılar gibi örneğin /home yerine /root tur.
İşletim sistemleri, Linux kategorisine gönderildi | , ile etiketlendi | Yorum yapın

Linux Dersleri 3. Dosya sistemi yolları (absolute & relative)

Absolute yani kesin/tam dosya sistemi yolu ” / ” ifade ise olur eğer ” / ” koymazsanız içinde bulunduğunuz klasöre göre klasör aranır.

Ör:

/var/logs klasörünü gözönüne alalım

“cd /var” komutundan sonra “cd /logs” yazarsak sistem böyle bir klasör bulamayacaktır kelimenin başına ” / ” koyduğumuz için linux bu klasörü var klasörünün altında değil de direkt ana dizinin altında arar. Doğru yazım “cd logs” veya “cd /var/logs/” şeklinde olacaktır.

İşletim sistemleri, Linux kategorisine gönderildi | , , , , ile etiketlendi | Yorum yapın
Page 7 of 10
1 … 5 6 7 8 9 10