Selamlar arkadaşlar bu makalemde sizlere Linux sistemi içerisindeki Kullanıcı Yönetiminden bahsediyor olacağım.
Bu sistemlerde giriş yapabilmeniz için bir kullanıcı adınız olması gerekiyor. Ön tanımlı olarak sadece root kullanıcı oluşmaktadır. Ve sistem üzerindeki tüm yetkilendirmeler Kullanıcı Adı ya da Kullanıcı Grubu üzerinden yapılmaktadır.
Eklenen bu kullanıcıların kaydı /etc/passwd ve /etc/shadow dosyaları altında tutulmaktadır. /etc/passwd dosyası altında kullanıcının şifrelenmiş parolası ve parola ile ilgili tanımlar dışında diğer tüm tanımlamalar tutulmaktadır. Aşağıda Passwd dosyası örneği görebilirsiniz.
Parola ve parola kullanım süresi, değiştirme süresi gibi tanımlar ise /etc/shadow dosyasında tutulmaktadır. Aşağıda Shadow dosyasının örneğini bulabilirsiniz.
/etc/passwd dosyasını kullanıcılar okuyabiliyorken, /etc/shadow dosyasını sadece Root kullanıcısı erişebilmektedir.
Shadow dosyasında : (İki Nokta) işareti ayraç karakteri olarak kullanılır. Dosyadaki değerler sırasıyla aşağıdaki anlama gelmektedir.
– Kullanıcı Adı
– Şifrelenmiş Parola
– Parolanın En Son Değişim Tarihi
– Asgari Parola Değiştirme Periyodu
– En Uzun Parola Geçerlilik Süresi
– Parolanın Son Kullanma Tarihi
– Parolanın Etkisizleştirilmesinden Sonraki Toplam Gün Sayısı
Passwd dosyasında da ayraç aynıdır ve alanların açıklaması aşağıdaki gibidir.
– Kullanıcı Adı
– X Karakteri, Daha önceki sürümler parolanın tutulduğu alandır ancak şuanda
buraya yazılmamaktadır.
– Kullanıcı Numarası (ID)
– Grup Numarası (GID)
– Kullanıcı Açıklaması
– Ev Dizini
– Kabuk Yolu
/etc/group altında ise Kullanıcı Grupları Tutulmaktadır.
1. Alan = Grup adının yazıldığı alandır.
2. Alan = Burada Password bilgisi tutulur ancak genelde kullanılmadığı için
X’dir.
3. Alan = Grup ID bilgisini tutmaktadır.
4. Alan = Grup’a üye olan kullanıcıların listesinin tutulduğu alandır.
Kullanıcılar , (virgül) ile ayrılır.
User Ekleme İşlemi :
Bu işlemi yaparken UserAdd komutu kullanılmaktadır. Bu komut Root kullanıcısı tarafından çalıştırılır. Parametre olarak sadece kullanıcı adı verilirse aynı kullanıcı adına ait bir grup da oluşturup, oluşturulan kullanıcı bu grupa tanımlanacaktır. Komutta kullanılan genel parametreleri aşağıda bulabilirsiniz.
-m : Kullanıcı
ev dizinini oluşturur.
-d : Kullanıcı ev dizini yolunu belirtiriz.
-s : Kullanıcının Kabuğunu belirleriz.
-g : Kullanıcının üye olacağı grubu belirleriz.
-c : Kullanıcı için açıklama gireriz.
> useradd -s /bin/bash -m -d /home/kullanici1 -g root kullanici1
// Komutu
yardımıyla yukarıdaki parametrelerden yararlanarak kullanici1 adında bir user oluşturma
işlemi yapılmıştır. Belirtilmeyen
parametreler ile ilgili olaran ön tanımlı değerler /etc/login.defs dosyasından alınır.
> passwd kullanici1
// Daha
sonra oluşturulan kullanıcıya parola belirlenmesi
gerekmektedir. Bunun içinde passwd komutu
kullanılmaktadır.
Kullanıcı İşlemleri :
UserMod komutu yardımıyla kullanıcıyı ilave gruplara ekleyebilir, mevcut kullanıcı adı başka bir kullanıcıyla değiştirilebilir, kullanıcı hesabı kitlenebilir veya hesap kiliti kaldırılabilir.
> usermod -L backup
// Kodu
yardımıyla yazılan kullanıcı kilitlenir.
> usermod -U backup
// Kodu yardımıyla ise kilitlenmiş bir hesabın kiliti kaldırılabilir. Aynı işlemi passwd -u backup ilede yapabilirsiniz.
> usermod -G root,backup kullanici1
// Kodu yardımıyla kullanici1 user’ını
root ve backup gruplarına eklemiş oluyoruz.
Grup Yönetimi :
Gruplarla ilgili bilgileri bulabileceğiniz alan /etc/group dosyasındadır.
> groupadd denemeGrup -g 12347
// Kodu yardımıyla yeni grup ekleyebilir
ve –g parametresi ile Grup ID girebilirsiniz.
> groupdel denemeGrup
// Kodu yardımıyla ise oluşturmuş olduğunuz grubu silebilirsiniz.
> id semih
// ID komutu yardımıyla Kullanıcı ve Grup numalarını öğrenmek için kullanabilirsiniz.
/etc/login.defs dosyasında bulunan PASS_MAX_DAYS ve PASS_MIN_DAYS değerleri ile sistem üzerinde Şifre sürelerini ayarlayabilirsiniz.,
> userdel kullanici1
// Komutu yardımıyla /etc/passwd ve /etc/shadow altında kayıtları
silmektedir. Ev dizini olması
durumunda ve bunuda silmek istiyorsanız –r
parametresinide eklemelisiniz.
> login semih
// Komut kullanıldığı zaman kullanıcılar arasında geçiş yapmanız mümkün kılmakta ve sistemlere bağlanmanızı sağlamaktadır.
/etc/nologin alanına dosyanın oluşturulması ve içerisine değer girilmesi halinde Root kullanıcısı dışında sistemde bulunan kullanıcılar giriş yapamayacaklardır. Yukarıdaki resimde bunu inceleyebilirsiniz. Sadece oluşturup içerisine değer girmeniz yeterli olacaktır. Sildikten sonra diğer kullanıcılar giriş yapmaya başlayacaktır.
/etc/securetty dosyası, ROOT kullanıcısının bağlantı yapabileceği uçbirim listesini içermektedir. Her bir satırda /dev/ ön eki olmaksınızın bir tty aygıtının adı belirtilmelidir. Bu dosyanın olmaması durumunda, ROOT kullanıcısı herhangi bir uçbirim üzerinden bağlanabilir.
/etc/securetty dosyası, belirlenen kullanıcılar için ek erişim kısıtlamaları içerir. Bu dosyanın olmaması durumunda
herhangi bir kısıtlama söz konusu olmayacaktır. /etc/securetty dosyası üç bölümden oluşmaktadır. CLASSES, GROUPS ve USERS.
CLASSES : Uçbirim sınıflarının ve Sunucu
adlarının şablonlarını içerir.
GROUPS : Her bir grup için izin verilen Uçbirim ve Sunucuları tanımlar.
USERS : Her bir kullanıcı için izin verilen Uçbirim
ve Sunucuları tanımlar.
Bu dosya içerisinde bulunan her satır en fazla 255 karaktere sahip olabilir. Açıklamalar # (kare) ile başlar ve satırın sonuna
kadar devam eder.
CLASSES Bölümü :
Bir CLASSES bölümü satırın başında tamamen büyük harflerden oluşan CLASSES yazısı ile başlamaktadır. Bu alanın içerisinde Uçbirim Sınıfları ve Sunucu Şablonları bulunur. Satır başında bulunan sözcük, satırın kalanında tanımlanmış Uçbirimler ve Sunucu Şablonları için ortak sınıf ismidir. Bu sınıf ismi GROUPS ve USERS bölümlerinde kullanılabilir. Yinelenmiş sınıf oluşturma hatasını önlemek için Sınıf isimleri tanımlamaların içinde kullanılmamaktadır.
CLASSES
Class1 tty3 tty5
Class2 tty7 tty8
GROUPS Bölümü :
Her bir UNIX grubu için izin verilen Uçbirim ve Sunucuları tanımlar. Bir kullanıcı /etc/passwd ve /etc/group dosyaları içerisinde bulunan tanımlara göre bir grubun üyesi ise ve grup /etc/usertty içindeki GROUPS bölümünde belirtilmiş ise, kullanıcıya erişim izni verilmiştir. Bir GROUP bölümübir satırda tamamen büyük harflerden oluşan GROUPS yazısı ile başlar ve altındaki tüm satırlar, boşluklar veya sekmeler ile ayrılmış kelime dizileridir. Bir satırdaki ilk kelime, grup adı ve diğer kelimeler; grup elemanlarına bağlantı için izin verilen tty‘lerin ve konakların adıdır. Bu tanımlar CLASSES altındaki değerleri de içerebilir.
GROUPS
root tty3 tty5
sys tty4 Class1
USERS Bölümü :
Bir USERS bölümübir satırda tamamen büyük harflerden oluşan USERS yazısı ile başlar ve altındaki tüm satırlar, boşluklar veya sekmeler ile ayrılmış kelime dizileridir. Bir satırdaki ilk kelime, Kullanıcı adı olup diğer kelimeler; bağlantı için izin verilen tty‘lerin ve konakların adıdır. Bu tanımlar CLASSES altındaki değerleri de içerebilir.
USERS
semih tty3
@192.168.1.0/255.255.255.0
root tty8 Class2
USERS bölümünde kullanıcı adı olarak * (Yıldız) belirtilmiş bir satır bulunabilir ve bu satırdaki tanımlar diğer satırlardaki tanımlarla uyuşmayan kullanıcılara uygulanır. Eğer Hem USERS alanında hemde GROUPS alanında kullanıcı izni verilmiş ise iki bölümde de izin verilen alanları kullanıcı kullanabilir.
ORIGIN :
USERS, GROUPS ve CLASSES bölümlerinde tanımlanan tty ve Konak kalıplarına verilen addır. Oluşturulma şekilleri aşağıdaki gibidir.
– /dev/ ön eki eklemeden tty aygıtının ismi.
– @localhost Bu kullanıcının yerel olarak telnet/rlogin yapabileceği anlamına geliyor.
– @.domain.adı Bu kullanıcının
belirtilen Alan Adı (Domain) içerisinden
telnet/rlogin yapabileceği anlamına
gelmektedir.
– 192.168.1.0/255.255.255.0 biçiminde
yazılmış IPv4 adres aralığı
içerisinden izin verilen telnet/rlogin bağlantılarını
belirtmektedir.
Bu kalıpları yukarıdaki tanımlamalarda kullanabilirsiniz.
Kullanıcı oluşturulması sırasında taslakların aktarılması :
Her yeni bir kullanıcı oluşturulması durumunda HOME dizinine otomatik olarak bazı dosyalar kopyalanacaktır. Bu dosyalar /etc/skel altında bulunmaktadır. Burada oluşturulacak her bir dosya yeni oluşturulacak olan kullanıcının Home dizinine otomatik aktarılır.
Su ve Sudo komutu :
Su komutu ile mevcut kabuk içerisinden çıkmadan başka bir kullanıcı hakları ile kabuk açmak için kullanılmaktadır. Geçiş yapılacak kullanıcı genellikle ROOT kullanıcısıdır. Bu komutun en yaygın kullanılan parametresi – (tire)‘dir. Bu parametre ile kabuk geçisi sırasında yeni kullanıcının çevre değişkenleri ile geçiş yapmasını sağlar.
> su –
Komutu çalıştırmanız durumunda parola isteyecektir. Bu parola root kullanıcısınındır. Bu yetkilere sahip olabilmek için ROOT Parolasını bilmek gereklidir ancak çok fazla kişi ile paylaşılmaması gereken bir şifredir.
Sudo ile Su arasındaki en belirgin fark ise kullanıcıya verilen yetkileri yine kullanıcı kendi parolasını girerek kullanabilmesidir. Bunda amaçlanan şey ise kullanıcı root parolasını bilmeden sistemde işlemler yapabilmesini sağlamaktır.
/etc/sudoers dosyasında izin verilen komutları çalıştırmak için ilgili komutun başına sudo komutunun eklenmesi gerekmektedir.
Bir sonraki makalemde görüşmek üzere. Umarım yararlı bir yazı olmuştur.
Kolaylıklar dilerim.