23 Nisan 2016 Cumartesi

Günün komutu - Linux sistemlerinde {2016.04.23} - ls (list directory contents)komutunu anlamak

linux kullanıpta ls komutunu bilmeyen yoktur.  Bununla birlikte çıktısını anlamakta zorluk yaşıyoruz. Bu zorluğu gidermek için, ls temel seviyede anlatmaya çalışacağım.



d   r w x   r - x   r - x   2   remzi   remzi    6 Nis 23 14:54 dizin
|    |   |  |   |  | |   |  |  |    |      |           |         Tarih                 İsim
|    |   |  |   |  | |   |  |  |    |      |        Dosyanın ait olduğu grup.
|    |   |  |   |  | |   |  |  |    |    Dosyanın Sahibi
|    |   |  |   |  | |   |  |  |   Dizin/Dosyaya birinci seviyede bağlantıların sayısı
|    |   |  |   |  | |   Dizin/Dosyanın sahibi veya grubu dışındakilere verilen  yetkiler
|    |   |  |   Dizin/Dosyanın bağlı olduğu gruba verilen yetkiler
|    Dizin/Dosyanın Sahibi
Dosyanın Tipi



Dosyanın tipi: Hemen dosyanın dipi olurmu dosya dosyadır demeyin. Linux/Unix sistemlerde oluyor. :)

Linuxteki dosya tipleri;

     -    : Her hangi bir şey belirtilmemişse, bizim bildiğimiz normal dosyadır.

     d   :  Dizin olduğunu belli eder.

     b   : Blok tipi dosyadır. Hardisklere baktığınızda görürsünüz.
             brw-rw---- 1 root disk 8, 0 Nis 23 13:00 /dev/sda

     c   : Aygıt dosyalarıdır.
            Linuxte, ses kartı, seri portlara bir dosyaya erişildiği gibi erişilir.


remzi@tashan:/tmp/umask$ ls -la /dev/ttyS0 /dev/snd/
crw-rw---- 1 root dialout 4, 64 Nis 23 08:54 /dev/ttyS0

/dev/snd/:
total 0
drwxr-xr-x   3 root root      280 Nis 23 08:54 .
drwxr-xr-x  24 root root     5140 Nis 23 12:53 ..
drwxr-xr-x   2 root root       60 Nis 23 08:54 by-path
crw-rw----+  1 root audio 116,  2 Nis 23 08:54 controlC0
crw-rw----+  1 root audio 116,  8 Nis 23 08:54 hwC0D0
crw-rw----+  1 root audio 116,  9 Nis 23 08:54 hwC0D1
crw-rw----+  1 root audio 116, 10 Nis 23 08:54 hwC0D3
crw-rw----+  1 root audio 116,  4 Nis 23 12:40 pcmC0D0c
crw-rw----+  1 root audio 116,  3 Nis 23 15:28 pcmC0D0p
crw-rw----+  1 root audio 116,  5 Nis 23 08:54 pcmC0D3p
crw-rw----+  1 root audio 116,  6 Nis 23 08:54 pcmC0D7p
crw-rw----+  1 root audio 116,  7 Nis 23 08:54 pcmC0D8p
crw-rw----+  1 root audio 116,  1 Nis 23 08:54 seq
crw-rw----+  1 root audio 116, 33 Nis 23 08:54 timer



     l   :  Sembolink link
             Böyle bir dosya/dizin vs. gerçekte yoktur, sadece orijinal dosya/kaynağı gösteren bir yol göstericisidir.

remzi@tashan:/tmp/umask$ ls -la
total 4
drwx------  3 remzi remzi  104 Nis 23 15:31 .
drwxrwxrwt 19 root  root  4096 Nis 23 15:28 ..
drwxr-xr-x  2 remzi remzi    6 Nis 23 14:54 dizin
lrwxrwxrwx  1 remzi remzi    5 Nis 23 15:09 dizinlink1 -> dizin
lrwxrwxrwx  1 remzi remzi    5 Nis 23 15:31 dizinlink2 -> dizin



     s  : Söket tipi dosyalar.
           Genelde servisler ve bazı aygıtlar haberleşmede söket tipi dosya kullanılırlar.

En güzel örnegi ise mysql dir. MySql tcp ile erişebileceğimiz gibi, söket ilede erişebiliriz. Yerelde söket kullanmak, tcp  göre daha avantajlıdır. Bi zahmet avantajları sizler araştırın. :)

remzi@tashan:~$ ls -la /var/run/mysqld/mysqld.sock
srwxrwxrwx 1 mysql mysql 0 Nis 23 15:39 /var/run/mysqld/mysqld.sock

remzi@tashan:/tmp/umask$ ls -la /dev/okiscand
srw-rw-rw- 1 root root 0 Nis 23 08:54 /dev/okiscand

remzi@tashan:/tmp/umask$ ls -la /var/lib/lxd/unix.socket
srw-rw---- 1 root lxd 0 Nis 23 08:43 /var/lib/lxd/unix.socket


ls  komutunu anlatmaya çalıştım. Daha fazla bilgi öğrenmek istiyorsanız, "man ls" "info ls" yardımcı olabilir.





Günün komutu - Linux sistemlerinde {2016.04.23} - umask - oluşturulan bir dosya ve dizinin sahiplik hakkı


Linux sistemlerinizde yeni bir dosya ve dizin oluşturduğunuzda, bunun sahiplik

yetkileri(erişim yetkileri) umask değerine göre verilir. Bu değer varsayılan olarak(genellikle) 022 dir.

umask 022 varsayılan değeriyle oluşturulan dizin ve dosyanın yetkileri;

drwxr-xr-x  2 remzi remzi    6 Nis 23 14:54 dizin
-rw-r--r--  1 remzi remzi    0 Nis 23 14:54 dosya

022 genel düşünce için iyi bir değer olsada, güvenlik nedeniyle (çoklu sistemlerde benim dosyamı benden ve/veya grubumdan başkası okumasın isteğiniz mevcutsa) tavsiye edilen bir değer değildir. 

Sadece dosya/dizini oluşturan kişinin bu dosyaya tam erişmesi istiyorsak, .bash_profile veya .bashrc dosyası içerisine  "umask 077" ilave etmemiz gerekiyor. Normalde terminalde "umask 077" komutu verdiğinizde umask değeriniz değişir. Fakat yeni bir oturum/terminal açtığınızda yapmış olduğunuz değişikliğin kaybolduğunu göreceksiniz! Bundan dolayı umask veya benzeri tanımlamaları .bash_profile dosyanızda yapmanızı tavsiye ederim.


umask 077;

-rw-------  1 remzi remzi    0 Nis 23 14:53 dosya
drwx------  2 remzi remzi    6 Nis 23 14:53 dizin


Sayıların ne anlamını aşağıdaki tablodan görebilirsiniz.




Umask Değeri
Dosya Yetkileri
Dizin Yetkileri
0
rw-
rwx
1
rw-
rw-
2
r--
r-x
3
r--
r--
4
-w-
-wx
5
-w-
-w-
6
--x
--x
7
--- (Yetki yok)
--- (yetki yok)


Linuxle eğlenceli ve güvenli günlere...

(Bilgisiz güvenlik olmaz :-D )

ansible ile yerel quay sunucusu üzerinden execution environment kullanımı

 Yerel quay veya registry sunucularımızdaki ee leri ansible ile kullanabiliyoruz. Bunun için kendi yaptığımız ee leri veya hazır ee leri yük...