Scroll to navigation

SU(1) Kullanıcı Komutları SU(1)

İSİM

su - başka bir kullanıcı ve grup kimliği ile bir kabuk çalıştırır

KULLANIM

[seçenekler] [-] [kullanıcı [girdi...]]

AÇIKLAMA

su, komutların başka bir kullanıcı ve grup kimliği ile çalıştırılmasını sağlar.

kullanıcı belirtilmeden çağrıldığında, su öntanımlı olarak etkileşimli bir kabuğu root olarak çalıştırır. kullanıcı belirtildiğinde, ek girdiler sağlanabilir, bu durumda bunlar kabuğa aktarılır.

Geriye dönük uyumluluk için, su öntanımlı olarak geçerli dizini değiştirmez ve yalnızca HOME ve SHELL ortam değişkenlerini (hedef kullanıcı root değilse USER ve LOGNAME değişkenlerini de) ayarlar. Karışık ortamlarının neden olduğu yan etkilerden kaçınmak için daima (kısayol - yerine) --login seçeneğinin kullanılması önerilir.

Bu su sürümü, kimlik doğrulama, hesap ve oturum yönetimi için PAM kullanır. wheel grubu desteği gibi diğer su uygulamalarında bulunan bazı yapılandırma seçeneklerinin PAM aracılığıyla yapılandırılması gerekir.

su çoğunlukla ayrıcalıksız kullanıcılar için tasarlanmıştır, ayrıcalıklı kullanıcılar için önerilen çözüm (örneğin, root tarafından yürütülen betikler), kimlik doğrulama gerektirmeyen ve ayrı PAM yapılandırması sağlayan, kullanıcı kimliğine dokunmayan runuser(1) komutunu kullanmaktır. PAM oturumu hiç gerekli değilse, önerilen çözüm setpriv(1) komutunu kullanmaktır.

su’nun her durumda son ortam değişikliğini yapmak için PAM (pam_getenvlist(3)) kullandığı unutulmamalıdır. --login ve --preserve-environment gibi komut satırı seçenekleri, PAM tarafından değiştirilmeden önce ortamı etkiler.

2.38 sürümünden beri su RLIMIT_NICE, RLIMIT_RTPRIO, RLIMIT_FSIZE, RLIMIT_AS ve RLIMIT_NOFILE süreç özkaynaklarının sınırlarını sıfırlamaktadır.

SEÇENEKLER

komut’u kabuğa -c seçeneği ile aktarır.

Kabuğa -f seçeneğini aktarır. Kabuğa bağlı olarak yararlı veya yararsız olabilir.

Birincil grubu belirler. Bu seçeneği yalnızca root kullanabilir.

Tamamlayıcı grubu belirler. Bu seçeneği yalnızca root kullanabilir. --group seçeneği belirtilmemişse, ilk belirtilen tamamlayıcı grup, birincil grup olur.

-, -l, --login
Kabuğu gerçeğiyle aynı ortamı kullanarak oturum açma kabuğu olarak başlatır:

  • --whitelist-environment ile belirtilen değişkenler ve TERM hariç tüm ortam değişkenlerini temizler
  • HOME, SHELL, USER, LOGNAME ve PATH ortam değişkenlerini ilklendirir
  • Hedef kullanıcının ev dizinine geçer
  • Kabuğu oturum açma kabuğu yaparken kabuğun argv[0]’ına ’-’ aktarır

Ortam değişkenlerini sıfırlamaz. Yani, HOME, SHELL, USER, LOGNAME ortam değişkenlerini tanımlamaz. --login seçeneği belirtilmişse bu seçenek yok sayılır.

Oturum için sözde uçbirim oluşturur. Kullanıcı uçbirimini özgün oturumla paylaşmayacağından bağımsız uçbirim daha iyi güvenlik sağlar. Bu, TIOCSTI ioctl uçbirim enjeksiyonunu ve uçbirim dosya tanıtıcılarına karşı diğer güvenlik saldırılarını önlemek için kullanılabilir. Oturumun tamamı artalana da taşınabilir (örneğin, su --pty - kullanıcı -c uygulama &). Sözde uçbirim etkinleştirilirse, su, oturumlar arasında vekil olarak çalışır (stdin/stdout etkileşimi).

Bu özellik çoğunlukla etkileşimli oturumlar için tasarlanmıştır. Standart girdi bir uçbirim değil, örneğin bir boru ise (örn, echo "date" | su --pty), dağınık çıktıyı önlemek için sözde uçbirimin ECHO seçeneği devre dışı bırakılır.

Öntanımlı kabuk yerine belirtilen kabuk kabuğunu çalıştırır. Çalıştırılacak kabuk sırasıya aşağıdaki kurallara göre seçilir:

1.
--shell seçeneğinde belirtilen kabuk
2.
--preserve-environment belirtilmemişse SHELL ortam değişkeninde belirtilen kabuk
3.
Hedef kulllanıcının passwd girdisinde listelenen kabuk
4.
/bin/sh

Hedef kullanıcının kısıtlı bir kabuğu varsa (örn, /etc/shells içinde listellenmemişse) ve çağıran kullanıcı root değilse --shell seçeneği ve SHELL ortam değişkenleri yok sayılır.

-c gibidir, fakat yeni bir oturum başlatmaz (Cesaret kırıcı.)

--login için ortamı temizlerken virgül ayraçlı listede belirtilen ortam değişkenlerini sıfırlamaz. listedeki HOME, SHELL, USER, LOGNAME ve PATH ortam değişkenleri görmezden gelinir.

Yardım metnini görüntüler ve çıkar.

Sürüm bilgilerini görüntüler ve çıkar.

SİNYALLER

SIGINT, SIGQUIT ve SIGTERM sinyallerinden birini alınca su, çocuğunu sonlandırdıktan sonra aldığı sinyalle kendini de sonlandırır. Çocuk süreç SIGTERM sinyali ile sonlandırılır, başarısız bir çabadan sonra 2 saniye beklenip çocuk süreç SIGKILL sinyali ile öldürülür.

YAPILANDIRMA DOSYALARI

su /etc/default/su ve /etc/login.defs yapılandırma dosyalarını okur. Aşağıdaki yapılandırma yönergeleri su için geçerlidir:

Kimlik doğrulaması başarısız olduğunda saniye cinsinden gecikme süresi. sayı sıfırdan küçük olmayan bir tamsayı olmalıdır.

Sıradan kullanıcı için PATH ortam değişkenini tanımlar. Öntanımlı değer: /usr/local/bin:/bin:/usr/bin

root için PATH ortam değişkenini tanımlar. ENV_SUPATH önceliklidir. Öntanımlı değer: /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

--login ve --preserve-environment belirtilmez ve değer olarak yes atanırsa su PATH ortam değişkenini ilklendirir.

/bin ve /sbin dizinlerinin /usr altına alındığı sistemlerde PATH ortam değişkeni farklı olabilir. Bu değişken ayrıca, --login komut satırı seçeneğinden ve PAM sistem ayarlarından da etkilenir. (bkz. pam_env(8))

ÇIKIŞ DURUMU

su normalde çalıştırdığı komutun çıkış durumunu döndürür. Komut bir sinyalle öldürülürse su sinyal numararası artı 128 ile döner.

su’nun kendisi tarafından üretilen çıkış durumları:

1
İstenen komutu çalıştırmadan önce genel hata

126
İstenen komut çalıştırılamadı

127
İstenen komut yoktu

DOSYALAR

/etc/pam.d/su
Öntanımlı PAM yapılandırma dosyası

/etc/pam.d/su-l
--login belirtilmediği durumda PAM yapılandırma dosyası

/etc/default/su
Komuta özgü logindef yapılandırma dosyası

/etc/login.defs
Küresel logindef yapılandırma dosyası

EK BİLGİ

Güvenlik nedeniyle, su yapılan başarısız oturum açma girişimlerini her zaman btmp dosyasına kaydeder, ancak lastlog dosyasına hiç yazmaz. Bu çözüm, su davranışını PAM yapılandırması ile denetlemek için kullanılabilir. Başarısız oturum açma girişimleriyle ilgili uyarı iletisini yazdırmak için pam_lastlog(8) modülünü kullanmak istiyorsanız, pam_lastlog(8), lastlog dosyasını da güncelleyecek şekilde yapılandırılmalıdır. Örneğin:

session required pam_lastlog.so nowtmp

TARİHÇE

Bu su komutu David MacKenzie’nin gerçeklenimine dayanan coreutils su komutundan türetilmiştir. Util-linux su komutu Karel Zak tarafından yeniden düzenlenmiştir.

İLGİLİ BELGELER

setpriv(1), login.defs(5), shells(5), pam(8), runuser(1).

HATA BİLDİRİMİ

Yazılım hataları bildirmek için <https://github.com/util-linux/util-linux/issues> adresinde bir başlık açın.

KULLANILABİLİRLİK

su komutu util-linux paketinin bir parçası olup Linux Çekirdek Arşivinden indirilebilir: <https://www.kernel.org/pub/linux/utils/util-linux>

ÇEVİREN

© 2003 Yalçın Kolukısa
© 2022 Nilgün Belma Bugüner
Bu çeviri özgür yazılımdır: Yasaların izin verdiği ölçüde HİÇBİR GARANTİ YOKTUR.
Lütfen, çeviri ile ilgili bildirimde bulunmak veya çeviri yapmak için https://github.com/TLBP/manpages-tr/issues adresinde "New Issue" düğmesine tıklayıp yeni bir konu açınız ve isteğinizi belirtiniz.

17 Şubat 2022 util-linux 2.38