15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın
02.01.2026
3 +2

Linux’te Kullanıcı Nasıl Değiştirilir: Tam Rehber

Linux, tasarım gereği çok kullanıcılı bir işletim sistemidir ve kullanıcı kimliklerini yönetmek, herhangi bir sistem yöneticisinin ustalaşması gereken en temel becerilerden biridir. İster bir VPS Hosting ortamını yönetiyor olun, ister bir web sunucusunu yapılandırıyor olun, ister bir dağıtımdan sonra dosya izni sorunlarını gideriyor olun, Linux’ta kullanıcıları nasıl değiştireceğinizi anlamak gereklidir.

Linux’ta “kullanıcıyı değiştir” ifadesi aslında her birinin kendi araçları, riskleri ve en iyi uygulamaları olan birkaç farklı işlemi kapsar:

  • Kabukta başka bir hesaba geçiş (örneğin, john öğesinden root öğesine) etkileşimli bir oturum için
  • Oturumları tamamen değiştirmeden tek bir komutu farklı bir kullanıcı olarak çalıştırma
  • Bir hizmetin veya işlemin hangi kullanıcı olarak çalıştığını değiştirme — güvenlik sertleştirmesi için kritik
  • Dosya ve dizin sahipliğini değiştirme — geçişler, geri yüklemeler veya dağıtımlardan sonra gerekli
  • Kullanıcı hesabı özniteliklerini değiştirme — kullanıcıları yeniden adlandırma, UID’leri değiştirme veya grup üyeliklerini ayarlama

Bu kılavuz, tüm bu senaryoları derinlemesine kapsar, her bir yaklaşımı ne zaman kullanacağınızı, bunu güvenli bir şekilde nasıl yapacağınızı ve hangi hataları önleyeceğinizi açıklayarak — böylece izinleri, hizmetleri veya erişimi bozmadan Linux kullanıcılarını güvenle yönetebilirsiniz.

İçindekiler

  1. Başka Bir Kullanıcıya Geçiş (Etkileşimli Kabuk)
  2. Tek Bir Komutu Başka Bir Kullanıcı Olarak Çalıştırma
  3. Bir Hizmetin Çalıştığı Kullanıcıyı Değiştirme (systemd)
  4. chown ile Dosya Sahipliğini Değiştirme
  5. Mevcut Kimliğinizi Doğrulama
  6. Kullanıcı Hesabı Özniteliklerini Değiştirme
  7. Hızlı Referans Kopya Sayfası

Başka Bir Kullanıcıya Geçiş (Etkileşimli Kabuk)

Başka bir kullanıcı olarak tam bir etkileşimli terminal oturumuna ihtiyacınız olduğunda — sistem yönetimi, bir uygulamanın davranışını farklı bir hesap altında test etme veya bir hizmet hesabına erişme için — Linux iki temel araç sağlar: su ve sudo.

su Kullanma (Kullanıcıyı Değiştir)

su komutu, mevcut kullanıcı kimliğinizi başka biriyle değiştirir:

su - username

- bayrağı (ayrıca -l veya --login olarak yazılabilir) önemlidir: hedef kullanıcının tam oturum açma ortamını yükler; bunlar ev dizini, PATH, kabuk profili ve ortam değişkenlerini içerir. - bayrağı olmadan, mevcut ortamınızın çoğunu devralırsınız; bu, özellikle komut dosyaları veya hizmetler çalıştırırken ince ve kafa karıştırıcı davranışlara neden olabilir.

Doğrudan root’a geçmek için:

su -

> Güvenlik notu: Birçok modern Linux dağıtımında, root hesabı parolası varsayılan olarak devre dışıdır (özellikle Ubuntu tabanlı sistemlerde). Bu durumlarda, su root’a başarısız olur ve sudo doğru yaklaşımdır.

sudo -i Kullanma (Root/Admin Kabukları için Tercih Edilen)

sudo -i

Bu size su - eşdeğeri bir root oturum açma kabuğu verir, ancak root parolasını gerektirmek yerine kendi sudo ayrıcalıklarınızı kullanarak kimlik doğrulaması yapar. Bu, çoğu modern dağıtımda önerilen yaklaşımdır çünkü:

  • Root parolasını paylaşma veya bilme ihtiyacını ortadan kaldırır
  • Tüm eylemler sudo denetim izi aracılığıyla günlüğe kaydedilir
  • Sudoers yapılandırmanıza ve kısıtlamalarınıza saygı gösterir

Sudo Aracılığıyla Oturum Açma Kabuğu ile Başka Bir Kullanıcıya Geçiş

sudo -iu username

Bu, -i (oturum açma kabuğu) ve -u (hedef kullanıcı) öğelerini birleştirerek, belirtilen kullanıcı olarak temiz bir oturum açma ortamı verir — o kullanıcının parolasına ihtiyaç duymadan.

Tek Bir Komutu Başka Bir Kullanıcı Olarak Çalıştırma

Çoğu zaman tam bir etkileşimli oturuma ihtiyacınız yoktur — sadece bir komutu farklı bir kimlikle yürütmeniz gerekir. Bu, ayrıcalık yükseltme için en yaygın ve en güvenli modeldir.

sudo -u Kullanma

sudo -u username whoami
sudo -u postgres psql

İkinci örnek veritabanı yönetiminde son derece yaygındır — postgres sistem kullanıcısına geçerek PostgreSQL’e parola kimlik doğrulaması olmadan erişmek.

Temiz Oturum Açma Ortamı ile Bir Komutu Çalıştırma

sudo -iu username command_here

Bu, komutun mevcut oturumunuzun değişkenleri değil, hedef kullanıcının tam ortamı ile çalışmasını sağlar.

Bir Komutu Root Olarak Çalıştırma

sudo systemctl restart nginx

Bu, yönetim görevleri için standart modeldir: bir root kabuğu açmadan tek bir ayrıcalıklı komutu çalıştırın.

Bir Hizmetin Çalıştığı Kullanıcıyı Değiştirme (systemd)

Neredeyse tüm modern Linux dağıtımlarında, systemd hizmetleri yönetir. Güvenlik için, her hizmet root yerine adanmış, ayrıcalıksız bir kullanıcı hesabı altında çalışmalıdır. Hizmetleri root olarak çalıştırmak önemli bir güvenlik riskidir — hizmet tehlikeye girerse, saldırgan tüm sisteme root erişimi kazanır.

Bu, birden fazla hizmetin aynı anda çalışabileceği Dedicated Servers ve üretim VPS ortamlarında özellikle önemlidir.

Mevcut Hizmet Yapılandırmasını Kontrol Etme

systemctl cat myservice.service

[Service] bölümünde User= ve Group= yönergelerini arayın:

[Service]
User=www-data
Group=www-data

Hizmet Kullanıcısını Geçersiz Kılma (Güvenli Yöntem)

Orijinal birim dosyasını düzenlemek yerine (paket yükseltmelerinde üzerine yazılabilir), bir açılır geçersiz kılma oluşturmak için systemctl edit öğesini kullanın:

sudo systemctl edit myservice.service

Bu, aşağıdakileri eklediğiniz bir editör açar:

[Service]
User=myuser
Group=mygroup

Dosyayı kaydedin, ardından değişiklikleri uygulayın:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Hizmetin Doğru Kullanıcı Olarak Çalıştığını Doğrulama

systemctl status myservice.service
ps -eo user,pid,cmd | grep myservice

Herhangi Bir Çalışan İşlemin Kullanıcısını İnceleme

ps -eo user,pid,cmd | grep nginx
ps -p <PID> -o user,group,cmd

> Önemli: Linux, zaten çalışan bir işlemin kullanıcısını yerinde değiştirmenize izin vermez. Değişikliğin etkili olması için işlemi yeniden başlatmanız (veya hizmet yöneticisini doğru kullanıcı altında başlatacak şekilde yapılandırmanız) gerekir.

chown ile Dosya Sahipliğini Değiştirme

Dosya sahipliği, Linux’un izin modelinin temel bir parçasıdır. Geçişler, dağıtımlar, yedeklemeler veya geri yüklemelerden sonra, sahiplik yanlış kullanıcıya atanabilir — izin reddedildi hataları, bozuk web uygulamaları veya erişilemeyen veriler neden olabilir. chown komutu bunu düzeltmek için birincil araçtır.

Bu, Shared Web Hosting ortamlarını ayarlarken veya bir VPS’de web uygulamaları dağıtırken yaygın bir görevdir.

Bir Dosyanın Sahibini Değiştirme

sudo chown username file.txt

Hem Sahibi Hem de Grubu Değiştirme

sudo chown username:groupname file.txt

Özyinelemeli Sahiplik Değişikliği (Dikkatli Kullanın)

sudo chown -R username:groupname /var/www/site

-R bayrağı değişikliği tüm dosyalar ve alt dizinlere yinelemeli olarak uygular. Bunu dikkatli kullanın — yanlış yola uygulamak (örneğin, / veya /etc) tüm sisteminizi bozabilir.

Sembolik Bağlantıları Koru

sudo chown -h username:groupname symlink

-h olmadan, chown sembolik bağlantıları takip eder ve sembolik bağlantının kendisinin değil, hedef dosyanın sahipliğini değiştirir. Özellikle sembolik bağlantı sahipliğini değiştirmek istediğinizde -h öğesini kullanın.

Değişiklik Yapmadan Önce Sahipliği Önizleme

Büyük dizin ağaçları için, yinelemeli bir chown uygulamadan önce her zaman önizleyin:

find /path -maxdepth 2 -printf '%u:%g %pn' | head

Bu, dizin ağacının ilk iki seviyesi için mevcut sahibi ve grubu gösterir; değişikliği taahhüt etmeden önce değişikliğin kapsamını doğrulamanıza olanak tanır.

Mevcut Kimliğinizi Doğrulama

Değişiklik yapmadan önce, her zaman kim olduğunuzu ve hangi bağlamda çalıştığınızı doğrulayın. Bu, yanlış hesap altında yapılan yanlışlıkla değişiklikleri önler.

Mevcut Kullanıcıyı Kontrol Etme

whoami

Tam Kimlik Bilgilerini Alma (Kullanıcı, Gruplar, UID’ler)

id

Örnek çıktı:

uid=1000(alice) gid=1000(alice) groups=1000(alice),27(sudo),1001(docker)

Sisteme Kimin Oturum Açtığını Görme

who
w

Sudo Kullanırken Orijinal Kullanıcıyı Kontrol Etme

sudo ile yükselttiğinizde, iki ortam değişkeni ilgilidir:

echo $USER        # The current effective user (root)
echo $SUDO_USER   # The original user who invoked sudo (e.g., alice)

Bu ayrım komutlarda önemlidir — $SUDO_USER size komutu gerçekten kimin çalıştırdığını söyler.

Kullanıcı Hesabı Özniteliklerini Değiştirme

Bazen “kullanıcıyı değiştirmek” hesabın kendisini değiştirmek anlamına gelir: yeniden adlandırma, UID’sini değiştirme veya grup üyeliklerini ayarlama. Bunlar, oturum açmaları, dosya izinlerini ve hizmet erişimini etkileyebilecek kalıcı, sistem genelinde değişikliklerdir.

> En iyi uygulama: Hesap değişiklikleri yapmadan önce, kullanıcının oturum açmadığından ve o hesap altında hiçbir işlemin çalışmadığından emin olun.

Bir Kullanıcıyı Yeniden Adlandırma (Kullanıcı Adını Değiştirme)

sudo usermod -l newname oldname

Bu, oturum açma adını değiştirir ancak ev dizinini otomatik olarak yeniden adlandırmaz. Ev dizinini de taşımak ve yeniden adlandırmak için:

sudo usermod -d /home/newname -m newname

Kullanıcının eski kullanıcı adı ile aynı ada sahip birincil bir grubu varsa (çoğu dağıtımda varsayılan olan), grup adını da güncelleyin:

sudo groupmod -n newname oldname

Bir Kullanıcının UID’sini Değiştirme

sudo usermod -u 2001 username

> Kritik: UID’yi değiştirdikten sonra, eski UID tarafından önceden sahip olunan tüm dosyalar bilinmeyen bir sayısal kimlik

15%

Tüm Hosting Hizmetlerinde %15 indirim

Becerilerini test et ve herhangi bir hosting planında İndirim kazan

Kodu kullanın:

Skills
Başlayın