Kullanıcı ve Grup Yönetimi
Kullanıcı ve Grup Yönetimi Linux’ta kullanıcı bilgileri /etc/passwd dosyasında tutulur. Bu dosyanın içeriği tüm kullanıcılar tarafından okunabilmektedir. Bu nedenle kullanıcı şifrelerinin encrypt edilmiş olsa bile bu dosyada tutulması güvenli değildir. Tüm kullanıcıların bu dosyayı okuyup encrypt edilmiş şifreleri okuması önemli bir güvenlik açığıdır. Bu nedenle kullanıcı şifreleri /etc/shadow dosyasının içinde encrypt edilmiş bir şekilde tutulur. Bu dosyayı sadece root kullanıcısının okuma izni vardır. Linux’ta gruplar ile ilgili bilgiler /etc/group dosyasında tutulur. Linux sistemler kullanıcıları kullanıcı isimlerinden algılamaz. Her kullanıcı için bir UID (user identification) vardır ve sistem kullanıcıları UID’lerden tanır. Kullanıcılar ve sahip oldukları UID /etc/passwd dosyasında tutulur.
/etc/passwd Dosyasının yapısı /etc/passwd dosyasında kullanıcı ile ilgili bilgiler bulunur. Dosyanın her satırı bir kullanıcı ile ilgili bilgileri içerir. Her satır: (iki nokta üst üste işareti) ile ayrılmış 7 alandan oluşur. kullanıcı_adı:şifre:uid:gid:user_info:ev_dizini:kabuk Bu alanlar sırasıyla aşağıdaki anlamları içerir. Kullanıcı _adı: Kullanıcının sisteme girerken kullandığı isim Şifre: Şifre /etc/shadow dosyasında tutulduğu için burada x olarak görülür. UID:Kullanıcı kimliğini belirleyen bir sayıdır Gid Kullanıcın grubunu belirleyen bir sayıdır. user_info: Kullanıcının gerçek ismi ve hesapla ilgili diğer açıklamaların yer aldığı alan. Buradaki bilgiler “,” ile bir birlerinden ayrılırlar Ev_dizini:Kullanıcının ev dizini bu alanda belirtilir. Kabuk Kullanıcı sisteme girdiğinde açılacak varsayılan kabuk burada belirtilir.
/etc/shadow Dosyasının yapısı /etc/shadow dosyasında kullanıcının şifresi ile ilgili bilgiler bulunur. /etc/passwd dosyası gibi her satırı bir kullanıcı ile ilgili bilgileri tutar. Bu dosyanın yapısı aşağıdaki gibidir. Kullanıcı adı:şifre:last:may:must:warn:expire:disable:reserved
/etc/shadow Kullanıcı_adı:Kullanıcının Sisteme girerken kullandığı isim Şifre:Kullanıcının Şifresi encrypt edilmiş bir şekilde burada bulunur. Last:Şifrenin en son ne zaman değiştirildiğini tutar. Burada 1 Ocak 1970’ten itibaren geçen gün sayısı ortak tutulur. May: Kullanıcının şifresini değiştirebilmesi için geçmesi gereken gün sayısı. Must:Şifresinin ne kadar daha kullanabileceğini gösterir. 99999 yazıyorsa her hangi bir kısıtlamanın olmadığı anlamına gelir. Warn Kullanıcının, şifresinin expire olmadan kaç gün önce uyarılacağı belirtilir. Kullanıcının, şifresinin expire olmasından kaç gün sonra kullanıcının disable olacağı belirtilir Disable Kullanıcı hesabının disable edilme süresine 1 Ocak 1970’den sonraki gün sayısı tutulur. Reserved: Bu alan reserve alandır ve herhangi bir amaçla kullanılmamaktadır.
/etc/group dosyasının yapısı /etc/group dosyasında gruplar ile ilgili bilgiler bulunur. Bu dosyada alanlar “:” işareti ile bir birinden ayrılmıştır. Bu dosyanın yapısı aşağıdaki gibidir. Grup_adı:şifre:gid:username1,username2,username3 Grup adı: Bu kısımda grubun ismi belirtilir. Şifre: /etc/passwd dosyasında olduğu gibi bu alanda da x harfi bulunur. Grubun bir şifresi yoktur. Grubun şifresi /etc/gshadow dosyasında tutulur Gid: Grubun kimliğini belirleyen sayı bulunur. Username 1-2-3: Som alanda bu gruba üye olan kullanıcıların kullanıcı adları bulunur.
/etc/gshadow Dosyası /etc/gshadow Dosyasının yapısı /etc/shadow dosyasında kullanıcıların şifre bilgileri bulunduğu gibi grup şifreleri ve grup yönetimi ile ilgili bilgiler /etc/gshadow dosyasında bulunur. Dosyanın yapısı aşağıdaki gibidir. Grup adı:Şifre:Grup_Yöneticisi:Grup_üyeleri Grup_adı: Grubun ismi belirtilir Şifre: Grubun Şifresi encrypt edilmiş şekilde bulunur. Grup_Yöneticisi: Grup yöneticilerini belirtir. Yöneticiler gpasswd komutunu kullanarak grup üyelerini düzenleyebilir. Grup_üyeleri: Grup üyelerini gösterir
Kullanıcı İşlemleri Kullanıcı ekleme: Kullanıcı eklemek için useradd komutu kullanılabilir. Ayrıca adduser komutu da useradd komutuna yönlendirilmiştir. -u kullanıcı eklenirken kullanıcıya istediğimiz uid verebiliriz -c parametresi /etc/passwd dosyasında kullanıcı ile ilgili ekstra bilgilerin tutulduğu alana bilgi girmemizi sağlar. Bu alana girdiğimiz bilgileri “,” ile ayırmamız gerekir -g kullanıcının birincil grubu belirtilebilir. Red Hat Türevi sistemlerde kullanıcı açıldığı zaman eğer bu parametre ile bir grup belirtilmezse, kullanıcı açılması ile birlikte kullanıcı adı ile aynı bir grup da açılır
Kullanıcı İşlemleri -G parametresi ile kullanıcıyı açarken hangi gruplara ait olacağını belirtebiliriz. -d parametresi ile kullanıcının ev dizini belirtilebilir. -s parametresi ile kullanıcının kullanacağı kabuk belirtilebilir -e parametresi ile kullanıcının hesabının disable olma tarihi belirtilir
Hesap İşlemleri id Kullanıcıların GID ve UID’lerini bulmak için id komutu kullanılabilir. su su komutu ile kullanıcılar arasında geçiş yapılabilir.
Hesap İşlemleri (2) usermod Kullanıcı bilgileri üstünde değişiklik yapmak için usermod komutu kullanılabilir. Bu komuta aşağıdaki parametreler verilerek kullanıcı ile ilgili bilgiler değiştirilebilir. -c açıklama açıklama alanı değiştirilebilir -d ev dizini ev dizini değiştirilir. Eğer –m parametresi de eklenirse var olan ev dizini yenisine taşınır. -e bitiş tarihi hesabı son kullanım süresi değiştirilebilir -f gun_sayısı Kullanıcı şifresi expire olduktan disable olmasına kadar geçecek olan süre ayarlanabilir. -g birincil grubu belirlenebilir G grup[,…] Kullanıcının üyesi olacağı ilave gruplar belirtilir. Her grup, diğerinden virgül ile ayrılır. Eğer kullanıcı listelenen gruplar haricinde bir grubun da uyesi ise, kullanıcı bu gruptan çıkarılır.
Hesap İşlemleri (3) -l kullanıcı adı Kullanıcı adı değiştirilebilir. -p parola Kullanıcının şifresi değiştirilebilir (encrypt) -s kabuk KLullanıcının kullandığı kabuk değiştirilir -u kull_kiml Kullanıcı UID’si değiştirilir. Evdizindekiler değiştirilecek yalnız dışındakiler el ile değiştirilmelidir. -L Kullanıcı şifresini kilitler. Şifrenin Önüne ! işareti koyar -U Kilitlenmiş bir parolayı açar. Yaptığı iş parolanın önündeki ! işaretini kaldırmaktır
Hesap İşlemleri (4) Kullanıcı Silme Kullanıcı silmek için userdel komutu kullanılabilir. Komut ile kullanıcının /etc/passwd ve /etc/group dosyalarındaki kayıtları silinir. Eğer –r parametresi kullanılırsa kullanıcının ev dizini de silinir.
Grup İşlemleri Grup ekleme Grup eklemek için grupadd komutu kullanılabilir. Kullanımı: grupadd [-g gid][-r][-f] group -g group id’si vermemizi sağlar -r grubun sisteme ait bir grup olduğunu belirler. 499’dan küçük ilk sayı otomatik olarak atanır -f Varolan grup sistemde varsa hata vermeden komutun çalıştırılmasını sağlar
Grup İşlemleri (2) Grup bilgilerini değiştirmek için groupmod komutu kullanılabilir. –g parametresi ile GID –n parametresi ile grup ismi değiştirilebilir.
Grup İşlemleri (3) Grup silme Grup silme sırasında groupdel komutu kullanılabilir Grup Şifreleri Grup şifrelerini değiştirmek veya gruplarla ilgili yönetim işlemlerini yapmak için gpasswd komutu kullanılabilir. Kullanıcıların newgrp komutunu kullanarak üye oldukları grup dışında farklı bir grup hakkına sahip olabilir. Kabuktan çıkış yapıklarında bu grubun hakkı da yok olacaktır.
Grup İşlemleri (4) gpasswd komutu seçenek verilmeden kullanılırsa parametre olarak verilen gruben şifresini değiştirir. gpasswd [seçenekler] grup_adı Seçenek verilmeden kullanılırsa grubun şifresini değiştirir. -a Gruba kullanıcı ekler -d Gruptan kullanıcı çıkarır -R newgrup komutu ile gruba erişimi kapatır -r gruba ait şifreyi kaldırır -A grup yöneticilerini belirler.(1’den fazla) -M grup üyelerini belirler.(1’den fazla)