Bu makalede, düzgün bir şekilde organize edilmiş Linux kullanıcılarının önemini inceleyeceğiz. Kullanıcıların nasıl oluşturulacağı ve yapılandırılacağıyla başlayıp belirli dosya ve klasörlere nasıl erişim verileceğiyle biten erişim haklarını açıklayacağız. Ayrıca, sistemi istenmeyen aktivitelerden korumaya yardımcı olan sudo ve SELinux gibi bazı önemli güvenlik araçlarını da ele alacağız.
Linux'ta Kullanıcı Yönetimi ve Erişim Haklarının Önemi
Linux dünyasında kullanıcı yönetimi ve erişim hakları çok önemli bir rol oynar. Linux'u her kullanıcının bir kiracı, her dosyanın ise bir oda olduğu büyük bir daire olarak düşünün. Kullanıcı yönetimi, her kiracıya benzersiz bir anahtar atamak gibidir; erişim hakları ise odalarında neler yapabileceklerini belirler.
Bir kullanıcı oluşturulduğunda, ona bir ad ve benzersiz bir tanımlayıcı ( UID ) atanır; bu, dairenin kişisel anahtarı gibidir. Kullanıcının ayrıca , onu diğer kiracılarla birleştiren bir grubu da vardır. Grup , üyelerin ortak ayrıcalıkları paylaştığı bir kulüp gibidir.
Dosya erişim hakları üç kategoriye ayrılır: sahip ( kullanıcı ), grup ve diğerleri . Her kullanıcı, her kategori için kendine özgü okuma, yazma ve yürütme haklarına sahip olabilir. Örneğin, dosya sahibinin okuma ve yazma hakları olabilir, grubun yalnızca okuma hakkı olabilir ve diğerlerinin hiçbir hakkı olmayabilir.
Linux sistemlerinde kullanılan sudo ve SELinux gibi güvenlik politikalarına özel önem verilmelidir . Sudo, normal kullanıcıların normalde yalnızca yöneticilere açık olan belirli görevleri yerine getirmek için geçici olarak süper kullanıcı (root) haklarını kullanmalarına olanak tanıyan özel bir komuttur. Bu, kazara hataları veya süper kullanıcı haklarının kötüye kullanılmasını önlemeye yardımcı olur. Sudo kullanılırken, kullanıcının kimliğini doğrulamak için genellikle şifresini girmesi gerekir. Bundan sonra, sudoers dosyasında belirlenen kurallara uygun olarak süper kullanıcı (root) haklarıyla komutları çalıştırabilirler.
SELinux, Linux işletim sistemi için ek bir güvenlik katmanıdır. Sistemde hangi programların ve dosyaların kullanılabileceğini izler ve izinsiz girişleri ve saldırıları önlemek için bunlara erişimi sınırlandırır. Bu, sunucuyu siber saldırı girişimlerini veya kötü amaçlı eylemleri engelleyerek daha güvenli hale getirir.
Kullanıcı Oluşturma ve Yönetme
Linux'ta Kullanıcı Nasıl Oluşturulur
Linux kullanıcıları genellikle useradd komutuyla oluşturulur . Örneğin, "kullanıcı adı" adında bir kullanıcı oluşturmak için şunu girersiniz:
useradd username
Linux Kullanıcı Parolası Nasıl Ayarlanır
Kullanıcı oluşturulduktan sonra, hesabı parola ile korunmaz. Yeni bir kullanıcı için parola belirlemek için `passwd` komutunu kullanın:
passwd username
Burada kullanıcı adı, şifresi belirlenen kullanıcının adıdır.
Linux'ta Kullanıcı Listesi Nasıl Görüntülenir
Linux'ta terminalde tek bir komutla kullanıcı listesini görüntülemek için ` cut` komutunu kullanabilirsiniz:
cut -d: -f1 /etc/passwd
Bu komut , tüm kullanıcılar hakkında bilgi içeren /etc/passwd dosyasının içeriğini okur .
Belirli bir kullanıcı hakkında bilgi almak için şu komutu kullanabilirsiniz:
id username
Bu, kullanıcının UID'sini , GID'sini ve Gruplarını gösterecektir.
Bir Linux Kullanıcısını Silme
Bir kullanıcıyı silmek için userdel komutunu kullanın:
userdel username
Ancak bu komut, kullanıcının ana dizinindeki dosyaları silmez. Bunları silmek için -r seçeneğini kullanabilirsiniz :
userdel -r username
Bu, kullanıcı adını, ana dizinini ve içindeki tüm dosyaları silecektir.
Bir Linux Kullanıcısını Değiştirme
Bir kullanıcı hakkındaki bilgileri değiştirmek için usermod komutunu kullanın. Araç şu sözdizimini kullanır:
usermod argument user
Yardımcı programın yardımında olası argümanların tam listesi görüntülenir:
Örneğin, bir kullanıcının ana dizinini değiştirmek için şu komutu kullanabilirsiniz:
usermod -d /new/path/to/directory username
Linux'ta Kullanıcı Grupları Oluşturma ve Yönetme
Linux'taki kullanıcı grupları, yöneticilerin benzer erişim haklarına sahip kullanıcıları gruplandırmasına olanak tanır. Bu, erişim haklarının yönetimini kolaylaştırır ve hakların her kullanıcı için ayrı ayrı ayarlanması yerine grup düzeyinde ayarlanmasını sağlayarak sistem güvenliğini artırır. Örnek olarak, kullanıcı admin ile geliştiriciler grubunu ele alacağız.
Linux'ta Kullanıcı Grubu Nasıl Oluşturulur
Yeni bir grup oluşturmak için, groupadd komutunu yeni grubun adıyla birlikte kullanın:
sudo groupadd group_name
Örneğimizde komut şu şekilde görünecektir:
sudo groupadd developers
Linux'ta Bir Kullanıcı Grubu Nasıl Silinir
Bir grubu silmek için groupdel komutunu kullanın:
sudo groupdel group_name
Böylece emir:
sudo groupdel developers
"Geliştiriciler" adlı grubu sileceğim.
Bir Gruba Kullanıcı Ekleme
Bir kullanıcıyı belirli bir gruba eklemek için usermod komutunu kullanın:
sudo usermod -aG group_name user_name
Örneğin:
sudo usermod -aG developers admin
Bu komut, admin adlı kullanıcıyı geliştiriciler grubuna ekleyecektir.
Kullanıcıları Bir Gruptan Kaldırma
Bir kullanıcıyı gruptan kaldırmak için deluser komutunu kullanın:
sudo deluser user_name group_name
Yönetici kullanıcısını geliştiriciler grubundan kaldırmak için kullanılan komut :
sudo deluser admin developers
Linux'ta Grup Listelerini Görüntüleme
Sistemdeki tüm grupların listesini görüntülemek için, /etc/group dosyasıyla birlikte cat komutunu kullanın :
cat /etc/group
Bu komut sistemdeki tüm grupların listesini görüntüler.
Kullanıcı Grubu Üyeliğini Kontrol Etme
İşlemleri gerçekleştirdikten sonra, groups komutunu kullanarak bir kullanıcının hangi gruplara ait olduğunu kontrol edebilirsiniz:
groups user_name
Böylece, Linux'ta kullanıcı gruplarını yönetmenin temellerini keşfettik. Şimdi, bir sonraki aşamaya geçelim - dosyalara ve dizinlere erişim haklarının atanmasını inceleyelim. Bu süreç, kullanıcıların veya grupların belirli dosyalar ve dizinlerle ilgili olarak hangi eylemleri gerçekleştirebileceğini belirlemeye, etkili güvenlik yönetimi ve sistem kaynaklarına erişim sağlamaya olanak tanır.
Dosyalara ve Dizinlere Erişim Hakları Atama
Erişim Haklarının Sembolik Temsili
Daha önce de öğrendiğimiz gibi, Linux'ta 3 kullanıcı kategorisi vardır: sahip ( kullanıcı ), grup ve diğerleri . Bunların her biri, dosyalara veya dizinlere belirli erişim gruplarına sahip olabilir:
- Oku (Read - r): Bir dosya veya dizinin içeriğinin görüntülenmesini sağlar.
- Yazma (Write - w): Bir dosyayı değiştirme veya dizin içinde yeni bir dosya oluşturma yeteneği sağlar. Bir dizin için bu, aynı zamanda ondan dosyaları silmeye de olanak tanır.
- Çalıştır (Execute - x): Dosyanın çalıştırılmasına (yürütülebilir bir dosya ise) veya dizine girilmesine (dizin ise) izin verir.
Linux ailesi sistemlerinde erişim hakları 10 karakterlik bir dizeyle gösterilir. İlk karakter dosya türünü (normal dosya, dizin vb.) belirtir ve kalan dokuz karakter her kullanıcı grubu için üç karakterden oluşan üç gruptur. Anlamak için bir örneği ele alalım.
Erişim hakları -rwxr-xr-- şu anlama gelir:
- İlk karakter (-) dosya türünü (bu durumda normal bir dosya) gösterir.
- Sahip için üç karakter (rwx), sahibinin okuma, yazma ve yürütme haklarına sahip olduğunu gösterir.
- Grup için üç karakter (rx), grup üyelerinin yalnızca okuma ve yürütme haklarına sahip olduğunu belirtir.
- Diğerleri için üç karakter (r--), diğer kullanıcıların dosyayı yalnızca okuyabileceği anlamına gelir.
Erişim hakları `chmod` komutu kullanılarak ayarlanır ve sözdizimi şu şekildedir:
chmod [options] mode file(s)
Nerede:
- [seçenekler] - bir dizinde ve alt dizinlerinde erişim haklarını yinelemeli olarak değiştirmek için -R gibi ek parametreler.
- mod - hangi erişim haklarının ve kimin için değiştirildiğini belirten özel bir dize. Mod, semboller (r, w, x) ve bitler (0 veya 1) ile belirtilebilir. Modun sayısal değerleri de kullanılabilir (bunlardan daha sonra bahsedeceğiz)
- dosya(lar) - değişikliklerin uygulandığı dosyalar veya dizinler.
Bu yardımcı program oldukça güçlü bir araçtır, bu yüzden sadece örnek olarak birkaç temel komuta bakacağız.
Bir dosyaya erişim haklarını, sahibinin okuma ve yazma haklarına, grubun yalnızca okuma haklarına sahip olması ve diğer kullanıcıların hiçbir hakkı olmaması için değiştirin:
chmod u=rw,g=r,o= filename
Tüm kullanıcılara bir dosyayı okuma ve yazma erişim haklarını ayarlayın:
chmod a+rw filename
Bir dizindeki tüm dosyalar ve alt dizinler için erişim haklarını yinelemeli olarak değiştirin:
chmod -R u+rwx directory
Erişim Haklarının Sayısal Gösterimi
Sayısal gösterimde, her kullanıcı kategorisinin (sahip, grup, diğerleri) kendi numarası vardır ve bu numaraların birleşimi nihai erişim haklarını belirler. Sembolik gösterime benzer şekilde, üç hakkın her birinin kendi değeri vardır, ancak sayısal olarak:
- Oku (read) - değer 4
- Yaz (write) - değer 2
- Yürüt (execute) - değer 1
Kullanıcı türünü belirlemek için sayısal değerler de kullanılır:
- Dosya sahibi (kullanıcı) - ilk rakam
- Sahip grubu (grup) - ikinci rakam
- Diğer kullanıcılar (diğerleri) - üçüncü basamak
Bu nedenle, dosya erişim haklarının tam sayısal gösterimi, her biri belirli bir kullanıcı kategorisi için hakların değerlerinin toplamını temsil eden üç rakamdan oluşur. Bu, sembolik gösterimde 10 karakter kullanmaktan biraz daha kullanışlıdır. Bu durumda yönetim aşağıdaki gibi görünecektir:
chmod XYZ file
Burada X , Y ve Z sırasıyla sahibin, grubun ve diğer kullanıcıların erişim haklarını temsil eden sayılardır.
Örneğin, sahibine tam erişim hakları (okuma, yazma ve yürütme) vermek ve gruba ve diğer kullanıcılara yalnızca okuma ve yürütme yetkisi vermek için şu komutu kullanabilirsiniz:
chmod 755 file
Diğer örnekleri ele alalım:
chmod 700 file
Sadece sahibi okuma, yazma ve yürütme yetkisine sahipken, grup ve diğer kullanıcıların erişim hakkı yoktur.
chmod 644 file
Sahibinin okuma ve yazma hakları varken, grubun ve diğer kullanıcıların sadece okuma hakları vardır.
chmod 751 file
Sahibi tüm haklara sahip, grup okuma ve yürütme haklarına sahip, diğer kullanıcılar ise sadece yürütme haklarına sahip.
Daha önce de belirttiğimiz gibi, araç çok kapsamlı işlevselliğe sahiptir. Bazı durumlarda, "yardım" bölümünde bulunan seçenekler yeterli değildir:
Son satıra dikkat edin. Bu komutu kullanarak araç hakkında daha ayrıntılı belgelere ulaşabilirsiniz. Ayrıca , Chmod hakkında detaylı bilgi bulabileceğiniz aracın resmi Wikipedia sayfasına da göz atabilirsiniz.
Sonuç
Linux kullanıcıları ve yönetimleri, işletim sisteminin güvenliği ve istikrarlı çalışması için kritik öneme sahiptir. Bu makalede, Linux'ta etkili kullanıcı ve erişim hakları yönetiminin önemini vurguladık ve kullanıcıların oluşturulması ve yönetilmesi, kullanıcı gruplarıyla çalışma ve dosyalara ve dizinlere erişim hakları atama konularını ele aldık.