Linux
doğuşundan
itibaren
çok
kullanıcılı
bir
işletim
sistemi
olmuştur.
Bir
çok
kullanıcı
aynı
anda
sisteme
bağlanabilir
vede
sistemde
aynı
anda
farklı
uygulamaları
çalıştırabilir.
Bunun
yanı
sıra
Linux
sistemleri
üzerinde
çalışan
uygulamaların
bir
çoğuda
,
sistemle
etkileşime
geçmek
ve
işlemleri
yürütmek
için
kullanıcılar
oluştururlar.
Örneğin
MySQL
veritabanı
sunucusunun
mysql
adında
bir
kullanıcısı
mevcuttur.
Bununla
birlikte
sistemde
oluşturulan
her
bir
kullanıcı
adıyla
birlikte
birde,
bu
kulanıcı
adına
uygun
bir
de
grup
oluşturulur.
Varsayılan
ayar
olarak
kullanıcılar
kendi
isimlerine
uygun
gruplara
üye
yapılırlar.
Çeşitli
görevleri
yerine
getirmek
için
kullanıcılardan
bağımsız
gruplar
da
oluşturulabilir.
Daha
sonra
bu
guruplara
belirli
kullanıcılar
üye
olabilirler.
Kullanıcılar
ve
gruplar,
dosyaların
ve
dizinlerin
sahipliğini
alabilirler.
Dosya
ve
dizinlerin
sahipleri
bu
belirli
dizinlere
erişim
için
tam
yetkili
olurlar.
Dosya
ve
dizin
erişimlerini
kavrayabilmek
için
sistem
idaresinin
en
temel
işi
olan
kullanıcı
ve
grup
yönetimini
anlamak
gerekir.
1. Kullanıcı Yönetimi
Kullanıcı
yönetimi
için
kullanılan
komutlar
“useradd”
,
“usermod”
ve
“userdel”
dir.
Bu
komutlar
/etc/passwd
dosyasında
girdiler
oluşturur
ve
bu
girdileri
düzenler.
passwd
ve
shadow
dosyaları
hakkında
ayrıntılı
açıklama
daha
sonra
yapılacaktır.
Sisteme
kullanıcı
eklemek
için
useradd
komutu
kullanılır.
1.1 Yeni Kullanıcı oluşturmak
Sisteme
kullanıcı
eklemek
için
useradd
komutu
kullanılır.
[root@linuxserver
/]#useradd
soner
Bir
hesabın
geçerli
olabilmesi
için
passwd
komutu
ile
parola
belirlenmelidir.
[root@linuxserver
/]#passwd soner
Yukarıdaki
komutla
sisteme
soner
adında
bir
kullanıcı
eklenmiştir.
useradd
komutu
için
varsayılan
değerler
/etc/login.defs
adlı
dosyadan
alınır.
Bu
dosyada
yer
almayan
değerler
ise
komutla
birlikte
girilir.
useradd
komutunun
varsayılan
değerlerini
görmek
için
komutla
birlikte
-D
parametresi
kullanılır.
Komutla
birlikte
girilen
parametreler
login.defs
dosyasında
bulunan
değerleri
geçersiz
kılar.
Varsayılan
değerler
grup
adı
,
skel
dizini
,
ev
dizini
,
kabuk
adından
oluşur.
Skel
dizini
başlangıç
dosyalarının
kopyalarını
tutan
sistem
dizinidir.
(/etc/skel)
useradd
komutu
oluşturulan
her
kullanıcı
için
500
den
büyük
bir
kullanıcı
tanımlayıcısı
(uid)
atar.
Uid
kullanıcının
tanımlar.
[root@linuxserver
/]#useradd erkan -u 600 -g users
Yukarıdaki
örnekte
erkan
adlı
kullanıcı
uid
600
ve
grubu
users
olacak
şekilde
oluşturuluyor.
Varolan
bir
kullanıcı
üzerinde
değişiklik
yapmak
istediğimizde
ise
usermod
komutunu
kullanırız.
1.2 Kullanıcı hesapları üzerinde değişiklikler yapmak
[root@linuxserver
/]#usermod -u 601 -g ortak erkan
Yukarıdaki
komut
erkan
kullanıcısının
grubunu
ortak
ve
uid
601
olarak
değiştiriyor.
Kullanıcı
adının
son
parametre
olarak
verildiğine
dikkat
edin.
En
çok
kullanılan
parametrelerin
bir
kısmı
aşağıda
verilmiştir.
-p
parola:
Bir
parola
ayarlar..
-s
kabuk:
Bir
kabuk
Varsayılan
durumda
BASH
dir.
-g
grup_adı:
Bir
grup
ayarlar
-c
yorum:
Hesap
ile
ilgili
yorum
ekler.
-u
kul_id:
Kullanıcının
id
numarasını
ayarlar.
-e
aa/gg/yy:
Hesap
için
bir
dolum
süresi
ayarlar
.
Varsayılan
durumda
kullanılmaz.
-f
gün
:
Hesap
süresi
dolduktan
sonra
bir
hesabın
daha
kaç
gün
aktif
kalacağını
belirler.
Bir
hesabı
sistemden
kaldırmak
içinse
aşağıdaki
komutunu
vermemiz
yeterli
olur.
1.3 Kullanıcı hesaplarının silinmesi
Userdel
komutu ile kullanıcı silinir.
[root@linuxserver
/]# userdel soner
Eğer
–r parametresi kullanılırsa kullanıcı hesabının ev dizinide
silinir.
[root@linuxserver
/]# userdel -r soner
1.4 Bir hesabı kilitlemek
Bir hesabı geçici bir süre için
kilitlemek istiyorsak
usermod
–L username
Kilidi
açmak için ise
usermod
–U
username
1.5 Örnekler
Birincil
grubu users olan ve ayrıca yoneticiler, pazarlama ve satis grubuna
da uye olan erol adında bir kullanıcı oluşturmak
[root@linuxserver
/]#useradd –g users - G yoneticiler,pazarlama,satis erol
[root@linuxserver
/]#
useradd
– g
pazarlama
–G
bilgiislem,muhasebe
-d
/home/mehmetinevi
–s
/sbin/nologin
-u
661
mehmet
–c
“Mehmet
Karhraman”
1.6 /etc/passwd dosyası:
Gerçekte
bu
komutların
tümü
/etc/passwd
adlı
dosyayı
işlerler.
Bu
dosya
kullanıcıların
ve
kullanıcılara
ait
birçok
özelliğin
daha
tutulduğu
bir
dosyasıdır.
Kullanıcı
ve
bu
özellikler
tek
satırlık
kayıtlar
halinde
tutulur
ve
bu
satırlardaki
herbir
özellik
“:”
işareti
ile
ayrılır.
Aşağıda
/etc/passwd
dosyasından
erkan
ve
melissa
kullanıcısına
ait
girdileri
görüyorsunuz.
erkan:!!:601:502:Erkan
Pehlivan:/home/erkan:/bin/bash
melissa:hA6Agam7aOyN2:7798:7799::/home/melissa:/bin/bash
Bu
alanları
sırası
ile
açıklayacak
olursak,
ilk
alan
“Kullanıcı
Adı”
alanıdır.
Kullanıcı
adları
bu
alanda
belirtilir.
Bu
alan
aynı
zamanda
kullanıcıların
sisteme
oturum
açma
adıdır.
Yukarıda
erkan
ve
melissa
kullanıcıları
görülüyor.
İkinci
alan
Password
alanıdır.
Bu
alanda
ise
kullanıcıların
parolaları
saklanır.
Bu
alan
hiçbir
şekilde
elle
düzenlenmemelidir.
Kullanıcı
parolaları
passwd
komutu
kullanılarak
verilmelidir.
Erkan
kullanıcısının
parola
alanında
“!!”
işareti
vardır.
Bu
işaretin
anlamı
erkan
kullanıcısının
şifresinin
henüz
atanmamış
olduğudur.
Melissa
kullanıcısının
parola
alanında
ise
13
karakterden
oluşan
bir
karakter
dizisi
vardır.
Bu
dizi
passwd
komutu
ile
oluşturulmuştur.
(Shadow
şifreleme
yapılmadığı
varsayılmıştır.
Shadow
dosyası
bir
sonraki
bölümde
anlatılacaktır.)
passwd
komutu
parolaları
bu
dosyaya
yazmadan
önce
onları
şifreler.
Daha
sonraki
alanlar
ise
kullanıcıyı
tanımlayan
id
alanıdır.
Bu
alan
her
kullanıcı
için
benzersizdir.
Bir
sonraki
alan
kullanıcıların
birincil
gruplarını
tanımlayan
alandır.
Bir
kullanıcı
birden
fazla
gruba
üye
olabilir.
Fakat
her
kullanıcının
yalnızca
bir
adet
birincil
grubu
olabilir.
Sonraki
alan
yorum
alanıdır.
Genellikle
kullanıcının
tam
adı
için
kullanılır.
Örnekte
erkan
kullanıcısı
için
“Erkan
Pehlivan”
dır.
Melissa
kullanıcısı
için
ise
herhangi
bir
girdi
belirtilmemiştir.
Daha
sonraki
alanlar
kullanıcının
ev
dizinini
ve
oturum
kabuğunu
belirtmektedir.
1.7 /etc/shadow dosyası:
Passwd
dosyası
bir
metin
dosyasıdır
ve
fazla
güvenilir
değildir.
Bu
dosyaya
ulaşan
bir
kişi
bu
dosyadaki
şifreleri
değiştirebilir
yada
çözebilir.
Dağıtımların
çoğu
shadow
güvenliği
ile
birlikte
gelir.
Shadow
güvenliği
parolaları
/etc/shadow
adlı
bir
dosyada
saklar.
Parolaları
bu
dosyaya
yazmadan
önce,
üst
düzey
algoritmalar
kullanarak
bu
parolaları
şifreler.
Shadow
şifrelemeyi
etkin
hale
getirmek
için
authconfig
aracı
kullanılır.
(Kurulum
esnasında
etkinleştirilmemişse...)
Kullanıcı
parolaları
“crypt”
olarak
bilinen
şifreleme
yöntemi
ile
şifrelenir.
Bu
fonksiyon
MD5-tabanlı
olarak
maksimum
34
karakterlik
bir
şifre
üretir.
Üretilen
karakter
katarı
$1$
ile
başlar
ve
bundan
sonra
gelebilecek
maksimum
8
karakterlik
kısımda
da
salt
değeri
yer
alır.
Salt
değeri
$
ile
son
bularak
daha
sonra
gelen
22
karakter
ile
katar
tamamlanır.
Biraz
daha
net
ifade
etmeye
çalışırsak
katarın
yapısı
şu
şekildedir;
$1$<maksimum_sekiz_karakterlik_salt_değeri>$<yirmi_iki_karakterlik_kullanıcı_parolası>
Burada
salt
değeri
katar
içindeki
en
can
alıcı
kısımdır.
Gnu/Linux
üzerinden
useradd
ile
kullanıcı
eklerken
veya
passwd
komutu
ile
parola
belirlerken
ilgili
kullanıcının
parolasının
nasıl
oluşturulduğuna
adım
adım
bakalım.
- Kullanıcının belirlemek istediği parolayı al
- Salt olarak kullanılmak üzere rastgele sekiz karakterlik bir katar oluştur.
- Kullanıcıdan aldığın parolayı, yukarıda oluşturulmuş olan salt değeri ile birlikte crypt fonksiyonundan geçir ve sonuçta $1$ ile başlayan 34 karakterlik şifreli katarı oluştur.
Sistemde
"useradd"
komutu
ile
sisteme
bir
kullanıcı
ekleyip
parolasını
da
"serdar"
olarak
ayarlayalım.
/etc/shadow
için
üretilen
şifre
aşağıdaki
şekilde;
$1$Gc7mWBBa$PYrsBDL3/gFMa3wYtbu6U/
Görüldüğü
üzere
$1$
ile
başlayıp
8
karakterlik
salt
değerinden
(Gc7mWBBa)
sonra
yine
$
ile
salt
değeri
sonlanıp
kullanıcısın
şifresinin
yer
aldığı
22
karakterlik
katar
(PYrsBDL3/gFMa3wYtbu6U/)
yer
alıyor.
Şimdide
aynı
kullanıcının
parolasını
"passwd"
komutu
ile
yine
"serdar"
olarak
ayarlayalım.
$1$jx6BHZZi$08n4VS6lVGusgcOIBW26w0
Evet
görüldüğü
üzere
yine
yapı
olarak
yukarıdaki
sonucun
aynısı
ancak
dikkat
edilmesi
gereken
nokta
"serdar"
olarak
ayarlanan
şifreler
için
rastgele
zamanda
oluşturulan
salt
değerine
bağlı
olarak
farklı
katarlar
üretilmesi.
Şifreli
alanlardan
hemen
sonra
gelen
ve
de
“:”
işareti
ile
ayrılmış
bölümler
ise
login.defs'te
tanımlanmış
hesap
bilgileri
ile
ilgilidir.
erkan:$1$yHcFiixR$KjjXgPZwZ7T7Zda0NKQGA1:12933:0:99999:7:::
12933
kaydın değiştirilme tarihi(1.1.1970)
0
parolanın en az geçerlilik süresi
99999
parolanın en çok geçerlilik süresi
7
parola süresinin dolmasından ne kadar önce uyarı verilecek(gün)
:boş:
hesap kilitlenmeden önce geçecek süre
:boş:
hesabın kilitleneceği zaman(1.1.1970+)
1.8 chage komutu
Şifre
sure
işlemleri
için
chage
komutu
kullanılır.
chage
[
-l
]
[
-m
min_days
]
[
-M
max_days
]
[
-W
warn
]
[
-I
inactive
]
[
-E
expire
]
[
-d
last
day
]
user
[root@linuxserver
/]#chage
–l
selim
komutu
selim kullanıcısı için geçerli olan şifre parametrelerini
ekrana yazar.
Tarihler
YYYY/AA/GG şeklinde veya UNIX zaman formatı şeklinde olabilir.
Selim
kullanıcısın parolasının süresinin 1 Mart 2005 te dolması
isteniyorsa
[root@linuxserver
/]#chage
–E
2005/03/01
selim
NOT:
Tüm bu seçenekler /etc/shadow dosyasının doğrudan el ile
düzenlenmesi ile de yapılabilir.
2. Grup Yönetimi:
Grupları
yönetmek
içinse
groupadd,
groupmod
ve
groupdel
komutları
kullanılır.
Bu
komutlarda
/etc/group
dosyasını
işler.
Kullanıcı
yönetiminde
olduğu
gibi
eğer
shadow
şifreleme
kullanılıyorsa
parolalar
/etc/gshadow
dosyasında
tutulur.
Guruplar
içlerinde
bir
çok
kullanıcıyı
barındırabilirler.
Yeni
bir
grup
oluşturmak
için
groupadd
komutunu
kullanırız.
2.1 Yeni grup oluşturmak
[root@linuxserver
root]#groupadd ortak -g 501
Yukarıda
ki
örnekte
grup
tanımlayıcısı
(gid)
501
olan
ortak
adlı
bir
grup
oluşturuluyor.
Bir
başka
komut
olan
groupmod
komutu
ise
grup
özelliklerini
değiştirmemizi
sağlar.
2.2 Gruplar üzerinde değişiklik yapmak
[root@linuxserver
root]#groupmod
-n
ortak2
ortak1
yukarıdaki
örnek
ise
ortak1
adlı
grubu
ortak2
olarak
adlandırır.
2.3 Grupları silmek
Grupları silmek içinse groupdel
komutunu kullanırız.
[root@linuxserver
root]#groupdel ortak
2.4 Gruplara kullanıcı eklemek
gruba
kullanıcı ekleme
Gruba
kullanıcı ekleme gpasswd komutu ile yapılır.
- Ekleme için add (-a)
- Silme için remove (-d)
Örnek:
senol adlı kullanıcıyı muhasebe grubuna ekleme
[root@linuxserver
root]#gpasswd
-a
senol
muhasebe
2.5 Kullanıcı ve grup işlemleri
Herhangi
bir
kullanıcı
üye
olduğu
grupları
listeleyebilmek
için
groups
komutunu
kullanabilir.
Sistem
yöneticisi
ise
bu
komutu
kullanıcı
adı
ile
kullanarak,
o
kullanıcının
üye
olduğu
grupları
listeleyebilir.
[root@linuxserver
root]# groups erkan
erkan
: erkan ortak muhasebe
Kullanıcı
yönetiminde
/etc/passwd
dosyasında
herbir
kullanıcı
için
bir
gui
tanımlandığını
görmüştük.
Bu
tanımlayıcı
o
kullanıcının
birincil
gurubunu
oluşturuyordu.
Birincil
grup
kullanımını
anlamak
için
ilk
önce
aşağıdaki
örneğe
gözatalım.
[erkan@linuxserver
erkan]$ touch belge
[erkan@linuxserver
erkan]$ ls -l belge
-rw-rw-r--
1
erkan
erkan
0
May
30
17:27
belge
Yukarıdaki
çıktıda
belgenin
grubu
erkan
olarak
görülüyor.
Herhangi
bir
kullanıcı
birincil
gurubunu
değiştirmek
istediğinde
newgrp
komutundan
sonra
grup
adını
yazar.
Grup
parolasını
doğru
olarak
yazdıktan
sonra
birincil
grubu
ayarlanır.
[erkan@linuxserver
erkan]$ newgrp ortak
Password:
[erkan@linuxserver
erkan]$
yukarıdaki
örnekte
erkan
kullanıcısının
birincil
grubu
ortak
olarak
değiştiriliyor.
[erkan@linuxserver
erkan]$ id
uid=501(erkan)
gid=501(ortak) groups=502(erkan)
[erkan@linuxserver
erkan]$ touch belge2
[erkan@linuxserver
erkan]$ ls -l belge2
-rw-r--r--
1
erkan
ortak
0
May
30
19:29
belge2
Erkan
kullanıcısının
gid
“ortak”
ve
oluşturduğu
belgenin
grubu
“ortak”
olarak
değişmiştir.
Fakat
bu
değişiklikler
oturum
ile
sınırlıdır.
Kullanıcı
oturumu
kapattıktan
sonra
gid
tekrar
/etc/passwd
dosyasında
ki
varsayılan
durumuna
döner.
Not:
Gruplara
gpasswd
komutu
ile
bir
parola
atadığımızda
eğer
shadow
parolalar
etkin
ise
bu
parola
/etc/gshadow
dosyasına
yazılır.
Fakat
gpasswd
komutundaki
bir
hata
sebebiyle
oluşturulan
bu
parolaları
newgrp
komutu
okuyamamaktadır.
Bu
problemi
gidermek
için
geçici
olarak
parolaları
/etc/group
dosyasında
tutabiliriz.
Böylelikle
newgrp
komutu
parolaları
gshadow
dosyası
yerine
/etc/group
dosyasından
okuyacaktır.
Shadow
güvenliği
kaldırmak
için
grpuncov
komutunu
kullanabiliriz.
Bu
komut
yalnızca
gruplar
için
shadow
güvenliği
kaldırır.
[root@linuxserver
root]#grpuncov
Bir
başka
çözüm
ise
bu
hatanın
düzeltilmiş
yeni
versiyonunu
içeren
shadow-utils
paketi
sisteminize
kurmaktır.
ALINTIDIR
KAYNAK:www.belgeler.org