Ubuntu Server üzerinde sistem yönetimi yaparken işlemleri doğrudan root kullanıcısı ile yapmak yerine ayrı bir kullanıcı oluşturup bu kullanıcıya sudo yetkisi vermek daha güvenli ve yönetilebilir bir yöntemdir.
Bu yöntem sayesinde her kullanıcı kendi hesabı ile sisteme giriş yapar gerekli durumlarda ise sudo komutu ile yönetici yetkisi gerektiren işlemleri gerçekleştirebilir.
Bu makalemde Ubuntu Server üzerinde admin.kadir adında yeni bir kullanıcı oluşturacağız ve bu kullanıcıya root yetkisi vereceğiz.
1) Sunucuya Yetkili Kullanıcı ile Bağlanma
İlk olarak Ubuntu Server’a mevcut yetkili bir kullanıcı ile bağlanmanız gerekir.
SSH ile bağlantı örneği:
ssh mevcut_kullanici@sunucu_ip_adresi
Örneğin:
ssh root@192.168.1.10
Bağlantı sağlandıktan sonra yeni kullanıcı oluşturma işlemine geçebilirsiniz.
2) Yeni Kullanıcı Oluşturma
Ubuntu Server’da yeni kullanıcı oluşturmak için genellikle adduser komutu kullanılır.
admin.kadir adında yeni bir kullanıcı oluşturmak için aşağıdaki komutu çalıştırınız.
sudo adduser admin.kadir

Buradaki hata admin.kadir kullanıcı adında nokta . karakteri olduğu için oluşuyor.
Ubuntu’daki adduser komutu sistemde tanımlı NAME_REGEX kuralına göre bu kullanıcı adını varsayılan olarak kabul etmiyor. Bu kullanıcıyı açmak için size önereceğim yöntem “–force-badname” ile oluşturmaktır.
sudo adduser admin.kadir --force-badname
Bu komuttan sonra sistem sizden yeni kullanıcı için bir parola belirlemenizi ister.
Örnek ekran çıktısı şu şekilde olabilir:

Burada kullanıcı için güçlü bir parola belirlemeniz gerekir. Parola yazılırken ekranda görünmez, bu normal bir durumdur.
Daha sonra sistem bazı ek bilgiler isteyebilir:
Full Name []:
Room Number []:
Work Phone []:
Home Phone []:
Other []:
Is the information correct? [Y/n]
Bu alanları doldurmak zorunda değilsiniz.
Boş geçmek için Enter tuşuna basabilirsiniz. Son aşamada Y yazarak işlemi onaylayabilirsiniz.
3) Kullanıcıya Root Yetkisi Verme
Ubuntu’da bir kullanıcıya root yetkisi vermenin en doğru ve güvenli yolu, kullanıcıyı sudo grubuna eklemektir.
admin.kadir kullanıcısına sudo yetkisi vermek için aşağıdaki komutu çalıştırın:
sudo usermod -aG sudo admin.kadir

Bu komutta yer alan parametrelerin anlamı şöyledir:
-aG
-a parametresi, kullanıcının mevcut grup üyeliklerini koruyarak yeni gruba eklenmesini sağlar.
-G parametresi ise kullanıcının ekleneceği grubu belirtir.
Burada kullanıcı sudo grubuna eklendiği için artık yönetici yetkisi gerektiren işlemleri sudo komutu ile çalıştırabilir.
4) Kullanıcının Sudo Yetkisini Kontrol Etme
Kullanıcının gerçekten sudo grubuna eklenip eklenmediğini kontrol etmek için aşağıdaki komutu kullanabilirsiniz:
groups admin.kadir
Beklenen çıktı şu şekilde olmalıdır:

Eğer çıktı içerisinde sudo grubu görünüyorsa, kullanıcıya root yetkisi başarıyla verilmiş demektir.
5) Yeni Kullanıcıya Geçiş Yapma
Oluşturduğunuz kullanıcıya geçmek için aşağıdaki komutu kullanabilirsiniz:
su - admin.kadir
Bu komuttan sonra admin.kadir kullanıcısının parolasını girmeniz gerekir.
Başarılı giriş yaptıktan sonra terminal artık yeni kullanıcı oturumunda çalışır.

6) Sudo Yetkisini Test Etme
Kullanıcının yönetici yetkisine sahip olup olmadığını test etmek için aşağıdaki komutu çalıştırabilirsiniz:
sudo whoami
Sistem sizden kullanıcının parolasını isteyebilir.
Eğer çıktı aşağıdaki gibi gelirse işlem başarılıdır:
root
Bu çıktı, admin.kadir kullanıcısının sudo komutu ile root yetkisi alabildiğini gösterir.

7) Kullanıcı Parolasını Değiştirme
Daha sonra admin.kadir kullanıcısının parolasını değiştirmek isterseniz aşağıdaki komutu kullanabilirsiniz:
sudo passwd admin.kadir
Sistem sizden yeni parolayı iki kez girmenizi ister.

8) Kullanıcıdan Root Yetkisini Kaldırma
Her kullanıcıya sürekli root yetkisi verilmesi güvenlik açısından doğru değildir. Eğer ileride admin.kadir kullanıcısının sudo yetkisini kaldırmak isterseniz aşağıdaki komutu çalıştırabilirsiniz:
sudo deluser admin.kadir sudo
Ardından tekrar kontrol edebilirsiniz:
groups admin.kadir
Çıktı içerisinde sudo grubu görünmüyorsa, kullanıcının yönetici yetkisi kaldırılmıştır.

9) Kullanıcıyı Sistemden Silme
Eğer kullanıcıya artık ihtiyaç yoksa sadece kullanıcı hesabını silmek için şu komut kullanılabilir:
sudo deluser admin.kadir
Kullanıcıyı home dizini ile birlikte tamamen silmek için:
sudo deluser --remove-home admin.kadir
Bu işlem kullanıcının /home/admin.kadir dizinini de sileceği için dikkatli kullanılmalıdır.
10) Tek Seferde Kullanılabilecek Komut Özeti
Aşağıdaki komutlar, admin.kadir kullanıcısını oluşturmak, sudo yetkisi vermek ve kontrol etmek için kullanılabilir:
sudo adduser admin.kadir
sudo usermod -aG sudo admin.kadir
groups admin.kadir
su - admin.kadir
sudo whoami
Eğer kullanıcı adında nokta kullanımından dolayı hata alınırsa:
sudo adduser --force-badname admin.kadir
sudo usermod -aG sudo admin.kadir
Ubuntu Server üzerinde root yetkisi yüksek riskli bir yetkidir. Bu nedenle yalnızca gerçekten sistem yönetimi yapması gereken kullanıcılara verilmelidir.
Ayrıca aşağıdaki güvenlik önerilerine dikkat edilmesi tavsiye edilir:
- Güçlü ve tahmin edilmesi zor parola kullanılmalıdır.
- Her kullanıcı için ayrı hesap oluşturulmalıdır.
- Ortak kullanıcı hesabı kullanmaktan kaçınılmalıdır.
- SSH erişimlerinde mümkünse parola yerine SSH key kullanılmalıdır.
- Gereksiz sudo yetkileri düzenli olarak kontrol edilmelidir.

