Çok ama çok teşekkürler, normalde kali ile ilgili detaylı komut anlatımı bulmak zordur. hazırlayan arkadaşa tekrar teşekkürler.Merhabalar TürkHackTeam ailesi, bugün sizlere GNU/Linux İşletim Sisteminin Yapısı konusuna değineceğim. Ders tadında olacak ve çok uzun tutmamaya çalışacağım bu konuyu :trl
Konu Başlıkları
Root (Kök Kullanıcı)
GID
UID
Grup Yönetimi
Grup Oluşturma
Grup IDsini Değiştirme
Gruba Kullanıcı Eklemek
Gruptan Kullanıcı Silme
Gruba Şifre Koyma
Grup Silmek
Kullanıcı Yönetimi
Kullanıcı Oluşturma
Kullanıcıya Şifre Koyma
Kullanıcı IDsi Değiştirme
Kullanıcı Silme
Kullanıcı Hakkında Bilgi Almak
Shadow Dizini
Su ve Sudo Komutları Arasındaki Fark
Su Komutu ile Root Kullanıcısına Geçme
Sudo Su ile Root Kullanıcısına Geçme
Başka Kullanıcıya Geçme
Dosya Sahiplikleri ve İzinleri
Öncelikle konumda bahsedeceğim bazı terimlerin anlamlarından bahsedeyim;
Root (Kök Kullanıcı)
Linux/Unix sistemlerde tam yetkiye sahip kullanıcılardır. Root kullanıcıları sınırsız yetkiye sahiptir.
GID
Grup IDsidir. Grup IDlerin de 0 olarak tanımlanırsa kök kullanıcı yani root yetkisine sahiptir.
UID
Kullanıcı IDsidir. Kullanıcı IDleri de aynı şekilde 0 olarak tanımlanırsa kök kullanıcı yani root yetkisine sahiptir.
İlk öncelikle bildiğiniz üzere Linux dağıtımları multi kullanıcılı bir sisteme sahiptir. Yani sadece bir kullanıcı ile işlem yapmamakta birden fazla kullanıcı açıp işlem yapabilmekteyiz. Bizler için asıl önemli olan şey Kullanıcı IDsidir. Nedir bu Kullanıcı IDsi der iseniz; Bu IDye göre erişim hakları verilir. Bu IDye sahip birden fazla kullanıcı da bulunabilir nasılsa Windowsta Administrator birden fazla olabiliyorsa Linux sistemlerde de root kullanıcısı birden fazla olabilir. Genellikle Linux sistemlerde root yöneticisi ile aynı erişim haklarına sahip birden fazla kullanıcı açılmasının sebebi ola ki root kullanıcısının şifresi unutulursa root kullanıcısı haklarına sahip olan diğer yedek kullanıcılar tarafından sisteme giriş yapılabilsin diye oluşturulur.
Linux sistemlerde öntanımlı kullanıcılar otomatik olarak gelir. Bu öntanımlı kullanıcıları görmek için bir kodumuz var. Aslında bütün kullanıcıları görmek için (Root vb.) kullanılıyor.
Öncelikle Terminali açıyoruz veyazıyoruz.Kod:cd /etc/
Daha sonrayazıyoruz. Burada ki passwd kullanıcıların bulunduğu dosyadır buradan gerekli bilgileri alabiliriz.Kod:cat passwd
Bizlere bütün öntanımlı kullanıcılar ve Root yetkisine sahip kullanıcılar karşımıza geliyor.
root:x:0:0 ifadesini gördünüz. Şimdi bu nedir derseniz kullanıcı adı(root), şifre(x), kullanıcı IDsi(0), grup IDsi (0) demektir. Alta ki kullanıcılarda dikkat ettiyseniz en sağ tarafta /nologin yazmaktadır. Bu arka planda giriş yapamadıkları anlamına gelmektedir. Eğer aşağıya doğru kaydırırsanız en altın bir üstünde kendi kullanıcı adınızı göreceksinizdir. Şimdi sizlerle beraber ufak bir giriş yaptık nedir ne değildir baktık şimdi konumuza başlıyalım.
Grup Yönetimi
Şimdi biz gruplarla ilgili işlemler yapmak için bazı komutlar kullanıyoruz. Bunların kullanımı göstereceğim fakat öncelikle bu gruplar nerededir ondan bahsedeyim.
Gruplarnin içinde bulunur.Kod:/etc/group
Şimdi görelim; İlk öncelikleyazıyoruz.Kod:cat group
Daha sonra bütün gruplar karşımıza çıkıyor.
Grup Oluşturma
Grup Oluşturma işlemini yapalım beraberce.
Kod:groupadd grupismi
Olarak yazıyoruz
Yazdıktan sonra grubumuz oluştu. Şimdi grubumuza bakalım bunun için ise;yazıyoruz.Kod:cat group
En altta oluşturduğumuz grubumuz çıktı. Şimdi biz böyle en alta inince grubumuzu gördük fakat her zaman en alta inmek istemeyebiliriz. Bunun için de;
Öncelikleyazıyoruz. Grep bizlere belirli bir bölümde ki aradığımız kriterlere göre sonuçları karşımıza çıkaran bir komuttur.Kod:cat /etc/group | grep grupismi
Gördüğünüz üzere bizlere grubumuzu ve GIP ve UIDmizi gösterdi.
Gördüğünüz üzere grup oluşturmayı ve bunun bilgisini nasıl öğreneceğimizi gördük. Şimdi de bu oluşturduğumuz grup üzerinden işlem yapmaya geldik.
Grup IDsini Değiştirme
Öncelikle terminaldenile root yetkisi alıyoruz. Daha sonraKod:sudo su
diyerek etc dizinine giriş yapıyoruz. SonraKod:cd /etc/
olarak yazıyoruz.Kod:groupmod g groupID grupismi
İşlemimiz oldu şimdi grubumuzu görmek içinyazıyoruz.Kod:catcat /etc/group | grep grupismi
Grup IDsini kaç yazdıysanız o numara karşımıza çıkacaktır.
Şimdi diyelim ki grubun ismini değiştirmek istiyoruz ne yapacağız? Bunun için de;
olarak yazıyoruz.Kod:groupmod n yenigrupismi değiştirilecekgrubunismi
Şimdi grup ismimiz değişti. Görmek için iseolarak yazıyoruz.Kod:cat /etc/group
Yazdıktan sonra en altta gördüğünüz gibi yeni isimli bir grup var ve grup IDsi 2002 olduğunu görüyoruz.
Şimdi gruba kullanıcı ekleme, çıkarma ve parola ekleme komutlarına geçelim.
Gruba Kullanıcı Eklemek
Öncelikleolarak yazıyoruz. -a parametresi burada add yani ekleme anlamına gelmektedir.Kod:gpasswd a kullanıcıismi grubunismi
Yazdıktan sonra bizlere kullanıcının eklendiğini gösteren bir bildirim geldi.
Şimdi kullanıcının eklendiği bildirimini aldık bir de biz bakalım.olarak yazıyoruz.Kod:cat /etc/group |grep grupismi
Ve gördüğünüz gibi grubun sonunda eklediğimiz kullanıcı gözükmektedir.
Gruptan Kullanıcı Silme
Öncelikleolarak yazıyoruz. Burada ki -d parametresi delete anlamına gelmektedir yani silme.Kod:gpasswd d kullanıcıismi grubunismi
Bizlere kullanıcının silindiğini gösteriyor. Şimdi bir de kontrol edelim.
olarak yazıyoruz.Kod:cat /etc/group |grep grupismi
Gördüğünüz gibi kullanıcı eklediğimizde sağ tarafta kullanıcı ismi çıkmıştı fakat şimdi çıkmadı.
Kullanıcı eklemeyi ve çıkarmayı öğrendik şimdi gruba şifre koymayı öğreneceğiz.
Gruba Şifre Koyma
Öncelikleolarak yazıyoruz.Kod:gpasswd grupismi
Sonra bizlere yeni şifreyi soruyor buraya yazdıklarınız ekranınızda gözükmeyecek o yüzden sorun etmeyin :trl
Daha sonra bizlere şifreyi tekrar yazmamızı istiyor.
Yazdıktan sonra artık grubumuz şifrelenmiş oluyor.
Grup Silmek
Şimdi grupta kullanıcı ekleme, çıkarma ve şifrelemeyi gördük. Şu an da grubu silmeyi göreceğiz.
Öncelikleyapıyoruz.Kod:groupdel grupismi
Sonra bizlere uyarı vermeden işlemi bitiriyor.
Bir bakalım silinmiş mi diyeyapıyoruz.Kod:cat /etc/group
Gördüğünüz gibi grup silinmiş.
Şimdi de kullanıcı yönetimine geçelim.
Kullanıcı Yönetimi
Bizler kullanıcı yönetimi için bazı komutlar kullanıyoruz onlardan bahsedeceğim. Öncelikle nerede bu kullanıcılar ondan bahsedeyim.
Kullanıcı bilgiler etc/passwd de bulunur.komutu ile kullanıcı bilgilerini listeleyebilirsiniz.Kod:cat /etc/passwd
Kullanıcı Oluşturma
Öncelikleolarak yazıyoruz.Kod:useradd kullanıcıismi
Uyarı vermeden direk oluşturdu.
Şimdi bakalım kullanıcı eklenmiş mi diyeolarak yazıyoruz ve en altta oluşturduğumuz kullanıcı çıkıyor.Kod:cat /etc/passwd
Kullanıcıya Şifre Koyma
Öncelikle grupta ki gibiyazıyoruz.Kod:passwd kullanıcıismi
Daha sonra bizden parola isteyecektir.
Tekrar parola isteyecektir onu yazdıktan sonra işlem başarılı bir şekilde bitecektir.
Kullanıcı IDsi Değiştirme
Öncelikleolarak yazıyoruz.Kod:usermod u ıdgiriyoruz kullanıcıismi
Uyarı vermeden kabul etti
Şimdi de bakalım olmuş muyazıyoruz ve passwd yi yazdırıyoruz.Kod:cat /etc/passwd
Yazdırdıktan sonra en altta gördüğünüz üzere kullanıcımız ve ID değeri gözüküyor.
Kullanıcı Silme
Kullanıcı silmek içinyazıyoruz.Kod:userdel kullanıcıismi
Yazdıktan sonra bakalım kullanıcımız silinmiş mi diyeKod:cat /etc/passwd
Gördüğünüz gibi kullanıcımız silinmiştir.
Bir Kullanıcıyı Oluştururken Gruba Eklemek
Öncelikleolarak yazıyoruzKod:useradd kullanıcıismi u ıddeğeri g grupismi
Ve işlemimiz bu kadar kullanıcımız yeni isimli grupta belirlediğimiz id değerinde oluşmuş oldu.
Kullanıcı Hakkında Bilgi Almak
Kullanıcıdan bilgi almak içinyazıyoruz.Kod:chage l kullanıcıismi
Daha sonra bizlere kullanıcı hakkında bilgi veriyor.
Kullanıcı Oluşturduktan Sonra Dosyalarına Bakma
Kullanıcılarımızı oluşturduktan sonra bunlarla ilgili bilgilerdosyasında (Yani yetkilerle ilgili bilgiler ) yazılıyor. Şimdi bilgileri öğrenmek ve düzenlemek içinKod:/etc/skel
Kod:ls al /etc/skel
Shadow Dizini
Shadow diziniolarak tanımlanır. Shadow dizini passwd ile aynı işlevlere sahip fakat daha güvenilir bir dizindir. Çünkü MD5-tabanlı bir şekilde şifrelidir. Passwd ise böyle bir şekilde değildir bir metin dosyasıdır.Kod:/etc/shadow
Su ve Sudo Komutları Arasındaki Fark
Sudo ile su arasnıda ki fark şudur su komutunda siz terminalden çıktığınızda ya da exit dediğiniz de root kullanıcısından çıkar fakat sudo komutunda ise bir işlem yapıyorsunuz diyelim o işlem bitnice sudo komutu da işlevini kaybeder ve normal kullanıcıya geçiş yapar.
Su Komutu ile Root Kullanıcısına Geçme
Root kullanıcısına geçmek içinyazıyoruz ve bizden şifremizi istiyor şifreyi yazdıktan sonra root kullanıcısına geçiş yapmış oluyoruz.Kod:su
Sudo Komutu ile Root Kullanıcısına Geçme
Sudo ile root kullanıcısna geçmek içinyazıyoruz.Kod:sudo root
Bizden şifremizi isteyecek
Yazdıktan sonra root kullanıcısına geçmiş olacaksınız.
Sudo Su ile Root Kullanıcısına Geçme
Sudo su komutunun özelliği şu şekildedir herhangi bir şifre istemeden direk root kullanıcısına geçiş yapmaktadır.Kod:sudo su
Başka Kullanıcıya Geçme
Başka bir kullanıcıya geçmek içinyazıyoruz ve şifresi yok ise direk geçiş yapacaktır.Kod:su kullanıcıismi
Dosya Sahiplikleri ve İzinleri
Dosya sahipliği ve izinlerini değiştirmek için birkaç komuttan yararlanıyoruz chmod ,chown ve unmask.
Chmod Komutu
Arkadaşlar chmod komutu diğer komutlara nazaran biraz daha karmaşık bir komuttur. İlk öncelikle nedir ondan bahsedeyim; Linux kullanıcılarının dosyalara erişim haklarını belirlemek için kullanılan bir komuttur.
2 : w => Yazma izni
4 : r => Okuma izni
1 : x => Çalıştırma izni
Chmod Örnekleri;
rwx : Okuma, yazma ve çalıştırma erişim izinlerinin hepsi var.
rw- : Okuma ve yazma izinleri var, çalıştırma için iziniziz yok.
r-x : Okuma ve çalıştırma izinleri var, yazma için iziniziz yok.
wx : Okuma için izin yok, yazma ve çalıştırma izinleri var.
x : Sadece çalıştırma hakkı var.
-w- : Sadece yazma hakkı var.
r : Sadece okuma hakkı var.
: Hiçbir erişim hakkı yok.
Şimdi bir dosya da izin olup olmadığını nasıl anlarız dersenizolarak yazdığınız da dosyanın yetkileri çıkacaktır.Kod:ls all dosyaismi
Mesela izinleri karşımıza çıktı.
olarak yazdığımız da hiçbir hakkı yok demektir. Yani ne okuma ne yazma ne de görüntüleme hakkı.Kod:chmod 000 dosyaismi
olarak yazdığımız da okuma ve yazma hakkı yok fakat çalıştırma hakkımız olmuş oluyor.Kod:chmod 001 dosyaismi
olarak yazdığımızda okuma izni yok, çalıştırma izni yok fakat yazma izni vardır.Kod:chmod 010 dosyaismi
olarak yazdığımızda okuma izni yok fakat yazma ve çalıştırma iznimiz vardır.Kod:chmod 011 dosyaismi
olarak yazdığımızda okuma izni var fakat yazma ve çalıştırma iznimiz olmuyor.Kod:chmod 100 dosyaismi
olarak yazdığımız da okuma ve çalıştırma iznimiz vardır fakat yazma iznimiz yoktur.Kod:chmod 101 dosyaismi
olarak yazdığımız da okuma ve yazma iznimiz var fakat çalıştırma iznimiz yoktur.Kod:chmod 110 dosyaismi
olarak yazarsak eğer bütün yetkiler vardır.Kod:chmod 111 dosyaismi
Chown Komutu
Chmod komutu bir dosyanın izin sistemini değiştirmek için kullanılan komuttur. Bu komut ile diğer userlar arasında dosyayı kullanabilme,yönetebilme yetkisine sahip olursunuz.
olarak yazıyoruz. Hangi kullanıcıya yetkiyi vermek isterseniz o kullanıcı adını yazmanız gerekmektedir.Kod:chmod kullanıcıadı dosyaadı
Umask Komutu
Umask komutu izin kısıtlama olarak kullanılan bir komuttur. Linux sistemlerde dosya ve dizinleri default izinleri vardır. Bu izinler umaskta 022 olarak belirlenir.
Bu şekilde görebilirsiniz. Bu numara sistemi chmodda anlattığım x,r,w olayından geliyor. Biz bu değerleri değiştirebiliriz onu da şöyle yapacağız;
olarak yazacağız.Kod:umask değer
Mesela bir dosya ve dizin oluşturalım;
olarak yazıyoruz ve izinlerine bakıyoruz.Kod:touch dosyaismi [/COLOR][/CENTER] [COLOR=DarkOliveGreen][CENTER]mkdir dizinismi ls l
Gördüğünüz gibi izinlerin değerlerini değiştirdiğimiz için r,x,w değerleri de değişti.
Konum bu kadardı arkadaşlar bilgilendiyseniz ne mutlu bana )