Linux sistem yönetiminin en temel adımlarından biri yeni kullanıcı hesapları oluşturmak ve bu kullanıcılara ihtiyaç durumunda yönetici (root) yetkisi tanımlamaktır.

Özellikle sunucu ortamlarında her iş için root hesabını doğrudan kullanmak hem güvenlik hem de izlenebilirlik açısından sakıncalıdır. Bunun yerine ayrı kullanıcılar açıp gerektiğinde onlara sudo yetkisi vermek çok daha güvenli ve yönetilebilir bir yöntemdir.

Bu yazıda:

  • Kullanıcı ekleme,
  • Şifre tanımlama,
  • Root (sudo) yetkisi verme yöntemleri,
  • En güvenli uygulamalar adım adım ele alınacaktır.

Yeni Kullanıcı Ekleme

Linux’ta yeni kullanıcı eklemek oldukça basittir.

adduser kullaniciadi

Bu komut çalıştırıldığında sistem sizden şifre belirlemenizi ve bazı ek bilgileri (tam isim, oda numarası, telefon vb.) girmenizi ister.

Eğer var olan bir kullanıcının şifresini değiştirmek isterseniz:

passwd kullaniciadi

Bu sayede kullanıcı hesabı aktif hale gelir.

Root (sudo) Yetkisi Verme

Root yetkisi doğrudan verilmez bunun yerine kullanıcıya sudo hakkı tanımlanır. Böylece kullanıcı normalde standart haklara sahip olur ancak gerektiğinde yönetici yetkisiyle komut çalıştırabilir.

Grup Üzerinden Yetkilendirme

Linux dağıtımlarında root yetkisi için özel gruplar bulunur:

  • Debian/Ubuntu tabanlı sistemlerde: usermod -aG sudo kullaniciadi
  • RHEL/CentOS tabanlı sistemlerde: usermod -aG wheel kullaniciadi

Burada kullanıcıyı ilgili gruba eklemek ona sudo yetkisi vermek için yeterlidir.

sudoers Dosyası Üzerinden Yetkilendirme

Daha ayrıntılı kontrol için /etc/sudoers dosyası düzenlenebilir. Bu dosya visudo komutuyla açılmalıdır çünkü visudo olası yazım hatalarını kontrol ederek sistemin kilitlenmesini engeller.

visudo

Dosyanın sonuna şu satırlardan birini ekleyebilirsiniz:

  • Şifre ile root yetkisi: kullaniciadi ALL=(ALL) ALL
  • Şifresiz root yetkisi (riskli): kullaniciadi ALL=(ALL) NOPASSWD: ALL

NOPASSWD seçeneği özellikle güvenlik açısından dikkatle kullanılmalıdır. Sadece otomasyon süreçlerinde ya da acil durum senaryolarında önerilir.

3.3. sudoers.d Dizini ile Yetkilendirme (En Güvenli Yöntem)

En iyi yöntemlerden biri her kullanıcı için ayrı bir dosya oluşturmaktır. Bunun için:

vi /etc/sudoers.d/kullaniciadi

İçerisine şu satırı ekleyin:

kullaniciadi ALL=(ALL) ALL

veya şifresiz yetki için:

kullaniciadi ALL=(ALL) NOPASSWD: ALL

Aynı işlem tek satırlık bir komutla da yapılabilir:

echo "kullaniciadi ALL=(ALL) ALL" | tee /etc/sudoers.d/kullaniciadi

Senaryolar

  • Güvenli Kullanım Senaryosu:
    Yazılım geliştiricilere yalnızca gerektiğinde root hakkı verilmesi. Kullanıcı sudo grubuna eklenir her komut öncesinde şifre sorulur.
  • Otomasyon Senaryosu:
    CI/CD pipeline kullanıcılarına sürekli şifre girmek mümkün değildir. Bu durumda NOPASSWD seçeneği kullanılır ama hesap sadece otomasyon için ayrılmış olmalıdır.
  • Takip Kolaylığı Senaryosu:
    /etc/sudoers.d/ altına kullanıcı bazlı dosya açmak hangi kullanıcının hangi yetkiye sahip olduğunu tek bakışta görmeyi sağlar.

Güvenlik ve En İyi Uygulamalar

  • Root hesabını doğrudan kullanmayın, her kullanıcıya ayrı hesap açın.
  • Mümkün olduğunda NOPASSWD seçeneğinden kaçının.
  • Kullanıcı bazlı dosyalar (/etc/sudoers.d/) ile yetkileri düzenleyin.
  • Kullanıcı oluşturduktan sonra mutlaka güçlü şifre atayın.
  • Sudo kullanımını log’larla izleyin (örn. /var/log/auth.log).
  • Gereksiz root yetkisi vermekten kaçının.

Linux üzerinde kullanıcı yönetimi ve root yetkisi verme işlemleri oldukça kolaydır fakat güvenlik açısından doğru yöntemlerin seçilmesi gerekir.

  • Kullanıcı eklemek: adduser kullaniciadi
  • Şifre değiştirmek: passwd kullaniciadi
  • Yetkilendirme: Grup (sudo/wheel), sudoers dosyası veya /etc/sudoers.d

En iyi pratik Kullanıcıya özel bir dosya oluşturup yetkileri oradan tanımlamak ve gerektiğinde sudo loglarını takip etmektir. Küçük birkaç komut hem güvenliği hem de yönetilebilirliği ciddi şekilde artırır.