Linux'da Kullanıcı İşlemleri

Eyl 06, 2013

Kullanıcı Hesabı Açmak (adduser komutu ile)

adduser komutu yardımıyla kullanıcı hesabı oluşturulabilir. "root" olarak sisteme giriş yapılır ve komut çalıştırılır.

# adduser
Login name for new user (8 characters or less) []: deneme
User id for deneme [ defaults to next available]:
Initial group for deneme [users]:
Additional groups for deneme []:

deneme's home directory [/home/deneme]:
deneme's shell [/bin/bash]:
deneme's account expiry date (MM/DD/YY) []:

OK, I'm about to make a new account. Here's what you entered so far:

New login name: deneme
New UID: [İleri available]
Initial group: users
Additional groups: [none]
Home directory: /home/deneme
Shell: /bin/bash
Expiry date: [no expiration]

This is it... if you want to bail out, hit Control-C.  Otherwise, press
ENTER to go ahead and make the account.

Making new account...

Changing the user information for deneme
Enter the new value, or press return for the default

        Full Name []: linux kullanicisi
        Room Number []:
        Work Phone []:
        Home Phone []:
        Other []:

Changing password for deneme
Enter the new password (minimum of 6, maximum of 8 characters)
Please use a combination of upper and lower case letters and numbers.
New password:
Re-enter new password:
Password changed.
Done...

Kullanıcı ismi 3 karakterden az, 8 karakterden fazla olmamalıdır. Sistem kullanıcının gerçek ismini, ev dizinini, (genellikle /home içinde olur) grubunu isteyecektir. adduser komutu, özel olarak değiştirilmek istenmezse her kullanıcının grup numarası (GID = Group ID) 100 olarak tanımlanacaktır. Bu gruba karşılık gelen grup ismi (Group Name) users 'tır. Kullanıcı kimliği (UID = User ID) ise genellikle 500'den sonra gelen ve kullanılmayan ilk sayı olarak atanır. UID olarak 0 girilirse sistemde beraber bir süper-kullanıcı daha yaratılmış olunur.
Sisteme girişte çalıştırılacak olan kabuk için seçimi kullanıcıya bırakılabilir ya da öntanımlı olarak "bash" verilebilir. "Bash"in sistemdeki tam yolu (/bin/bash) yazılmalıdır. Bu alana sadece kabuk ismi girmek şart değildir.
Her şeyin doğruluğundan emin olunduysa, sorulan soruya "y" ile, emin olunmadıysa  "n" ile cevap verilir. Hemen ardından /etc/skel dizini altında yer alan tüm dosyalar bu kullanıcının dizinine kopyalanacaktır. Buraya, her kullanıcının ev dizinine önceden yüklenmesini istenilen sistem dosyaları yerleştirilebilir. Bu andan itibaren yeni kullanıcı sisteme girebilir.

Elle Kullanıcı Oluşturma (shadow kullanan Linux makinaları için geçerlidir)

/etc/passwd ve /etc/shadow dosyalarına birer satır eklenmelidir. /etc/passwd'de aralarında birer  ":" karakteri olmak kaydıyla sırayla hesap ismi, "x", grup kimliği, kullanıcı kimliği, kullanıcı isim ve soyadı, ev dizini ve kabuk programı yer alır. /etc/passwd içine bu satırı eklenir:

deneme:x:100:502:Misafir Sanatci:/home/deneme:/bin/bash

/etc/shadow içine ise , diğer satırlara dokunmadan aşağıdaki satır yerleştirilir.

deneme::9990:0:99999:7::::

Bu satırda yer alan ikinci girdi "Misafir Sanatçı" kullanıcısının parolasını belirtmektedir. /etc/shadow dosyasına yazılacak olan parola önce boş bırakılıp, ardından passwd deneme komutuyla bir parola atanır.
Ardından /home/deneme dizini oluşturulur. Dizinin grubu ayarlanır. Çok gerekli olmasa da gelen e-postalar için /var/spool/mail dizininde bir dosya tanımlanır ve /etc/skel içinde yeralan dosyalar kullanıcının dizinine kopyalanır.
# mkdir /home/deneme
# chown -R deneme.users /home/deneme
# touch /var/spool/mail/deneme
# chown deneme.mail /var/spool/mail/deneme

Kullanıcı Grubu

Grup kimliğinin değiştirilmesi veya yeni grubun eklenmesi için /etc/group dosyası kullanılır. Bu dosyaya grubun ismi, numarası, grup parolası ve gruba ait kullanıcılar yazılır. Her kullanıcının en az bir grubu vardır.
/etc/group dosyasının iki satırında yeralan parametreler:

root::0:root
sys::3:root,bin,sys,adm
gibidir. Sırayla ":" karakteri ile ayrılmış her kolon,
  • Grup ismi
  • Grup parolası
  • Grup numarası
  • Gruba ait kullanıcılar

şeklinde özetlenebilir. İlk sütun grup ismini belirtir. Grup ismi, ls -l komutunu işletince kullanıcı isminin hemen sağında görülen kelimedir. Grup parolası, gruba ait olmayan kullanıcıların dosyalarına erişim sağlamak için kullanılır.
Grup parolası nadiren kullanılır. Grup numarası, kullanıcının ait olduğu grubun karşılığıdır. Son sütunda ise gruba ait kullanıcılar, her biri birer virgülle ayrılmış olarak yazılır. Kullanıcı sisteme girdiği zaman otomatik olarak /etc/passwd dosyasında yeralan grup ismi aktif olur, bu yüzden her kullanıcının ismi /etc/groups dosyasına yazılmaz. Sistem ilk kurulduğu anda birkaç grup halihazırda zaten vardır.
Hangi grubun (veya tanımlanmışsa grupların) içinde olunduğunu öğrenmek için groups komutu kullanılabilir.

# groups deneme
users

Kullanıcının Hesabının Silinmesi

Bir kullanıcıya ait hesabı silmek için /etc/passwd dosyasında bu kullanıcıya ait olan satırdaki parola kolonunun başına * işareti koyulur. Bir şifrelenmiş bir parolanın içinde * karakteri olamayacağından bu kullanıcı bir daha sisteme giremez.
Hesabı tamamen silmek için, kullanıcının ev dizini ve e-postalar yedeklendikten sonra sistemde kullanıcıya ait olan dosyalar (/tmp altında) ve ev dizini silinir.
/etc/passwd ve /etc/group dosyasından kullanıcının isminin geçtiği satırlar kaldırılır.
Sistemde kullanıcıya ait olabilecek tüm dosyaların da silinmesi gerekebilir. Bunun için find kullanılabilir.

# find / -user deneme -ls -exec rm {} \;

Bu komut /etc/passwd dosyasından kullanıcı ismine ait olan satır kaldırılmadan önce yapılmalıdır.