Aslında daha önce chmod ve dizin yapılarından bahsederken kullanıcı hesaplarından biraz bahsettim. Şimdi daha detaylı olarak ve sadece kullanıcı hesaplarını yazıyorum.
Kullanıcı bilgileri /etc/passwd ve /etc/master.passwd dosyalarında tutulur. Her satırda bir kullanıcının tanımı bulunur. Kullanıcı grupları ise /etc/group dosyasında tutulur. Master.passwd dosyasının içeriği resimdeki şekildedir.
Sırası ile yukarıdaki resim şu değişkenlerden oluşur.
Kullanıcı adı : Sisteme giriş için oluşturulan kullanıcı ismidir. Aynı isimde sadece bir kullanıcı oluşturulabilir. Kullanıcı isimleri küçük harflerden, sayılardan, alt çizgi veya orta çizgiden oluşabilir. Sembolik karakterler içeremez ve en fazla 16 karakter olabilir. (Kernel derleyerek arttırılabilir)
Şifre : Her kullanıcı isminin bir şifresi olmak zorundadır.(boş olabilir) Resimde görüldüğü gibi, master.passwd dosyasında şifreler kriptolu şekilde saklanır.
Kullanıcı ID’sı : Her kullanıcının ve ID’si vardır. 0 ve 65535 arasında benzersiz olmak zorundadır.
Grup ID’sı : Kullanıcı idlerinde olduğu gibi 0 ve 65535 arasında olmalıdır. Kullanıcıların dahil (üye) oldukları grubu tanımlar.
Giriş Sınıfı : Sınıf kullanıcılara, çevre ve ortam değişkenlerini atamak, çeşitli kaynaklara erişimini ve kullanımını sınırlamak için kullanılır. Varsayılan olarak “default” giriş sınıfı bulunur.
Şifre Değiştirme Zamanı : Mevcut kullanıcıların, sistem yöneticisinin belirlediği zamanda şifresini değiştirmesinin zorunlu olduğu zamandır. Varsayılan olarak zorunluluk bulunmamaktadır.
Kullanıcı hesabı son kullanma tarihi: Kullanıcının hesabının belirtilen tarihte geçersiz olacağını belirtir. Aksi belirtilmedikçe Freebsd hesapları geçersiz olmaz.
Kullanıcının tam ismi : Resimde “root” kullanıcının tam isminin “Charlie Root” olduğunu görüntüleyebiliriz. Çok kullanıcı sistemlerde gerçek ismi belirlemek için kullanılır. İstenirse adres, telefon gibi bilgilerde girilebilir.
Kullanıcı Ana Dizini : Sistem yöneticisinin oluşturduğu şekilde belirtilen, her kullanıcıya ait bir ev dizini bulunmaktadır. Sisteme giriş yapan her kullanıcı kendi dizinine yerleşir. Aksi belirtilmedikçe /home/kullanıcıismi şeklinde oluşturulur.
Kullanıcı Kabuğu : Sistemde oluşturulan kullanıcının hangi kabuğu (shell) kullanacağını belirtir. Bourne, csh kabuğu olabileceği gibi, /usr/sbin/nologin şeklinde verilip, kabuğa giriş yapmaması da sağlanabilir.
Tüm Unix ve Linux işletim sistemlerinde root (super user) en yetkili kullanıcıdır. toor kullanıcısı ise, root yetkilerine sahip, yedek bir kullanıcı hesabıdır. Şifre atamazsanız hesabı kullanamazsınız.
Daemon, sshd, news, games gibi hesaplar, freebsd tarafından varsayılan olarak oluşturulan sistem hesaplarıdır. Çalışan servislerin bu kullanıcı üzerinde çalışması tavsiye edilir.(olası güvenlik probleminden dolayı)
Kullanıcı İşlemleri :
Yine daha önce belirttiğimiz fakat detayına ineceğimiz, kullanıcı yönetim komutlarını listeleyeceğiz.
adduser
Bu komut freebsd işletim sistemine basit bir şekilde kullanıcı eklemek için kullanılır. Oluşturulan kullanıcı için kullanıcı sistem dosyalarına (passwd, master.passwd ve group) giriş yapar. Kullanıcının belirtilen ev dizinini oluşturur.
Resimde adduser kullanımı görülmektedir. Sırası ile adduser’ın sorduğu sorular ve cevaplar aşağıdaki şekildedir.
Username : Kullanıcı ismi
Full Name : Kullanıcının tam ismi
Uid : Kullanıcı için istenen kullanıcı (user) id. Boş geçerseniz sistem otomatik bir id verecektir.
Login Group : Kullanıcıyı dahil etmek istediğimiz grup. Eğer boş geçersek, sistem aynı isimde bir grup oluşturup, kullanıcıyı o gruba dahil edecektir.
Login Group is Deneme. Invite Deneme into Other Groups? : Diğer kullanıcıları bu gruba davet edip etmediğimizi sormaktadır. (hayır)
Login Class : Giriş sınıfına dahil etmek isteyip istemediğimizi sormaktadır. Boş geçtiğimizde, sistem tarafından oluşturulan “default” sınıfına dahil edecektir. Default sınıfında belirlenen bir sınırlama yoktur.
Shell : Oluşturacağımız kullanıcının hangi kabuğu kullanmak istediğini sormaktadır. Sistemde mevcut bulunan kabuklar (sh, csh, tcsh, nologin) şeklinde belirtilmiştir. Nologin yaptığımızda, kullanıcı kabuğu kullanamaz.
Home Directory : Kullanıcının ev dizinin bulunacağı yolu sormaktadır. Varsayılan olarak /home/kullanıcı ismi şeklindedir. İstediğimiz şekilde belirtebiliriz.
Daha sonra şifreyi bizim belirlemek isteyip, istemediğimizi sorduktan sonra, iki kere şifre verip kullanıcı tanımlama işlemini, sistemin “OK?” soruna “yes” cevabını vererek bitiririz.
rmuser
Oluşturulan mevcut kullanıcıyı silmek için kullanılır. Rmuser aynı zamanda, oluştulan kullanıcının kendisi ile birlikte;
- Kullanıcının crontab görevlerini siler.
- At işlerini siler.
- Kullanıcının çalıştırdığı tüm prosesleri siler.
- Kullanıcının ana dizinini siler.
- Kullanıcıyı master.passwd, passwd ve group dosyalarından siler.
- Kullanıcı gelen e-posta var ise siler. (/var/mail/ dizinindeki e-postalar)
- Kullanıcının /tmp altındaki dosyalarını siler.
- -c Parametresi ile kullanıldığında, kullanıcının tam adı, adres ve telefon bilgilerini ekler
- -d Kullanıcının ana dizinini belirtir.
- -g Kullanıcının grubunu belirtir.
- -L Kullanıcının giriş sınıfını (login class) belirtir.
- -m Kullanıcının ana dizininin oluşturulmasını sağlar.
- -s Kullanıcının kullanmak istediği kabuğu belirtir.
pw useradd Deneme -C “Deneme Hesabı” -s /bin/csh -m -g wheel
pw userdel
Aynı şekilde mevcut bir kullanıcıyı silmek için kullanılır.
- -r Kullanıcıya ait tüm dosyaları siler.
pw userdel Deneme -r
pw groupadd ve pw groupshow
Bir grup oluşturmak ve mevcut bir grubu listelemek için kullanılır.
pw groupadd Deneme ve pw groupshow Deneme
komutları şeklinde kullanılır.
chpass
Sistemde bulunan bir kullanıcının, şifre, kabuk, ana dizini gibi bilgilerin güncellenmesini sağlar. adduser ve pw komutunun aksine sadece root kullanıcısı değil, diğer kullanıcılar bu komut ile kendi bilgilerini güncelleyebilir. chpass kullanıcıismi şeklinde kullanılır. Komutu çalıştıran kullanıcının varsayılan editörü ile bir text belgesi açılır ve istediği değişikliği yapar.
passwd
Kullanıcıların şifresini değiştirmek için kullanılır. Yine her kullanıcı kendi şifresini passwd komutu ile değiştirebilir. root kullanıcısı passwd kullanıcıismi şeklinde diğer kullanıcıların şifresini değiştirdiği gibi, passwd komutu ile her kullanıcı, kullanıcı ismi yazmadan kendi şifresini değiştirebilir. Aynı zamanda sysinstall komutu ile çıkan ncurses ekran sayesinde şifre değiştirme işlemi yapılabilir.
su
Su komutu ile kullanıcılar arası geçiş sağlanır. su kullanıcıismi şeklinde kullanıldığı gibi, sadece su yazıldığında root kullanıcısına geçiş sağlanır. root kullanıcı su kullanıcıismi yazdığında, kullanıcının şifresi sorulmaz. root her kullanıcı arasında şifre bilmeksizin geçiş yapabilir. Eğer mevcut bir kullanıcı wheel grubuna ait değilse root kullanıcısına geçiş yapamaz.