15%

Tüm Hosting Hizmetlerinde %15 Tasarruf Edin

Becerilerinizi test edin ve herhangi bir hosting planında İndirim kazanın

Kodu kullanın:

Skills
Başlayın
02.01.2026

Linux’te kullanıcı nasıl değiştirilir?

Linux’te “kullanıcı değiştir” ifadesi, bazıları geçici ve oturum bazlı, diğerleri kalıcı ve sistem genelinde olmak üzere birkaç farklı eylemi tanımlayabilir. Linux, tasarımı gereği çok kullanıcılı bir işletim sistemi olduğundan, neyi başarmaya çalıştığınıza bağlı olarak kimlikleri ve izinleri değiştirmek için birden fazla yol sunar: bir sunucuyu yönetmek, sınırlı haklarla bir uygulama çalıştırmak, dosya erişim sorunlarını düzeltmek veya kullanıcı hesaplarını yeniden yapılandırmak.

Linux’ta “kullanıcı”yı değiştirmek, bağlama bağlı olarak birkaç farklı anlama gelebilir:

    • Shell’de başka bir hesaba geçiş yapmak (örneğin, john’dan root’a)
      Bu, başka bir kullanıcı olarak etkileşimli bir terminal oturumu gerektiğinde kullanılır—genellikle sistem yönetimi için veya bir şeyin farklı bir hesap ortamında nasıl davrandığını test etmek için.
    • Tek bir komutu başka bir kullanıcı olarak çalıştırmak
      Tam oturumunuzu değiştirmeden yalnızca bir görev (bir hizmeti yeniden başlatmak veya bir veritabanı komutu çalıştırmak gibi) için yükseltilmiş ayrıcalıklara veya farklı bir kimliğe ihtiyaç duyduğunuzda idealdir.
  • Bir hizmet/proses için varsayılan giriş kullanıcısını değiştirmek
    Hizmetler (web sunucuları, veritabanları, uygulamalar) genellikle güvenlik için özel, kök olmayan kullanıcılar altında çalışmalıdır. Hizmet kullanıcısını değiştirmek, işlemin nasıl çalıştığını ve neye erişebileceğini etkiler.
  • Dosya ve dizinlerin sahipliğini değiştirmek
    Dosya sahipliği erişimi kontrol eder. İzinler yanlışsa—göçler, geri yüklemeler veya dağıtımlar sonrasında yaygındır—”kullanıcıyı değiştirirsiniz” ve sahipliği yeniden atayarak doğru hesabın dosyaları okuma/yazma yapabilmesini sağlarsınız.
  • Kullanıcı kimliği özelliklerini değiştirmek (kullanıcı adı, UID, gruplar)
    Bu hesap yönetimidir: bir kullanıcıyı yeniden adlandırmak, UID’sini değiştirmek veya grup üyeliğini ayarlamak (örneğin, sudo erişimi vermek). Bu değişiklikler girişleri, izinleri ve hizmet erişimini etkileyebilir.

Bu kılavuz tüm bu senaryoları kapsar, her yaklaşımı ne zaman kullanacağınızı, bunu güvenli bir şekilde nasıl yapacağınızı ve hangi hatalardan kaçınmanız gerektiğini gösterir—böylece izinleri, hizmetleri veya erişimi bozmadan kullanıcıları güvenle değiştirebilirsiniz.

Başka bir kullanıcıya geçiş yapın (etkileşimli shell)

su (kullanıcı değiştir)

su - username
  • – (veya -l) hedef kullanıcının tam giriş ortamını yükler: ana dizin, PATH, shell profili.

  • – olmadan, mevcut ortamınızın çoğunu korursunuz (bu kafa karıştırıcı olabilir).

Root’a geçiş yapın:

su -

Güvenlik notu: Birçok dağıtımda, su hedef kullanıcının şifresini (örneğin, root şifresi) gerektirir, bu genellikle devre dışı bırakılmıştır.

sudo -i (root/admin shell’leri için tercih edilir)

sudo -i

Size bir root giriş shell’i verir (su – ile benzer), sudo haklarınızı kullanarak root şifresi yerine.

Giriş shell’i ile başka bir kullanıcıya geçiş yapın:

sudo -iu username

Başka bir kullanıcı olarak tek bir komut çalıştırın (etkileşimli olmayan)

sudo -u

sudo -u username whoami
sudo -u postgres psql

Temiz bir giriş benzeri ortamda çalıştırın:

sudo -iu username

Root olarak bir komut çalıştırın

sudo systemctl restart nginx

Çalışan bir sürecin “etkili kullanıcısını” değiştirin (gelişmiş gerçeklik)

Linux, çoğu pratik senaryoda zaten çalışan bir sürecin “kullanıcısını değiştirmeye” izin vermez. Bunun yerine, genellikle:

  • süreci doğru kullanıcı altında yeniden başlatırsınız

  • veya kullanıcıyı tanımlamak için hizmet yöneticilerini (systemd) kullanırsınız

Bir sürecin hangi kullanıcı tarafından çalıştırıldığını kontrol etmek için:

ps -eo user,pid,cmd | grep nginx

Veya:

ps -p <PID> -o user,group,cmd

Bir hizmetin hangi kullanıcı olarak çalıştığını değiştirin (systemd)

Çoğu üretim Linux’u systemd kullanır. Hizmetler, özel, ayrıcalıksız kullanıcılar olarak çalışmalıdır.

Hizmet yapılandırmasını kontrol edin:

systemctl cat myservice.service

Şunları arayın:

  • User=

  • Group=

Örnek geçersiz kılma (güvenli yöntem):

sudo systemctl edit myservice.service

Ekle:

[Service]
User=myuser
Group=mygroup

Uygula:

sudo systemctl daemon-reload
sudo systemctl restart myservice.service

Doğrula:

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

Dosya sahipliğini değiştirin (dosyalar için “kullanıcı”yı değiştirme)

chown (sahip değişikliği)

Sahibi değiştirin:

sudo chown username file.txt

Sahibi ve grubu değiştirin:

sudo chown username:groupname file.txt

Rekürsif (dikkatli olun):

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

Sembolik bağlantıları koruyun (bağlantı hedeflerini değiştirmekten kaçının):

sudo chown -h username:group symlink

Gelişmiş ipucu: Büyük ağaçlar için önce önizleme yapın:

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

Mevcut shell kimliğinizi değiştirme ile hesabı değiştirme

Kimsiniz olduğunu doğrulayın

whoami
id

Kimlerin giriş yaptığını doğrulayın

who
w

Mevcut shell’i sudo ile hangi kullanıcının çalıştırdığını görün

echo $USER
echo $SUDO_USER

Kullanıcı adını, UID’yi, grupları değiştirin (hesap değişikliği)

Bir kullanıcıyı yeniden adlandırın (kullanıcı adı)

sudo usermod -l newname oldname

Aynı zamanda ana dizini taşıyın/yeniden adlandırın:

sudo usermod -d /home/newname -m newname

Grup adını da güncelleyin (isteğe bağlı):

sudo groupmod -n newname oldname

UID’yi değiştirin (gelişmiş; dosya sahipliğini etkiler)

sudo usermod -u 2001 username

UID’yi değiştirdikten sonra dosya sahipliğini düzeltin:

sudo find / -user oldUID -exec chown -h username {} ;

Bir kullanıcıyı bir gruba ekleyin (örneğin, sudo)

sudo usermod -aG sudo username # Debian/Ubuntu
sudo usermod -aG wheel username # RHEL/Alma/Rocky

Doğrula:

id username

Hızlı “not defteri”

Kullanıcı değiştir:

su - user
sudo -iu user

Başka bir kullanıcı olarak komut çalıştır:

sudo -u user command

Root shell çalıştır:

sudo -i

Dosya sahibini değiştir:

sudo chown -R user:group /path

Hesap bilgilerini değiştir:

sudo usermod -l new old
sudo usermod -d /home/new -m new
sudo usermod -aG
sudo user
15%

Tüm Hosting Hizmetlerinde %15 Tasarruf Edin

Becerilerinizi test edin ve herhangi bir hosting planında İndirim kazanın

Kodu kullanın:

Skills
Başlayın