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¶
- su
- [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¶
- -c, --command=komut
- komut’u kabuğa -c seçeneği ile aktarır.
- -f, --fast
- Kabuğa -f seçeneğini aktarır. Kabuğa bağlı olarak yararlı veya yararsız olabilir.
- -g, --group=grup
- Birincil grubu belirler. Bu seçeneği yalnızca root kullanabilir.
- -G, --supp-group=grup
- 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
- -m, -p, --preserve-environment
- 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.
- -P, --pty
- 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.
- -s, --shell=kabuk
- Ö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.
- --session-command=komut
- -c gibidir, fakat yeni bir oturum başlatmaz (Cesaret kırıcı.)
- -w, --whitelist-environment=liste
- --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.
- -h, --help
- Yardım metnini görüntüler ve çıkar.
- -V, --version
- 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:
- FAIL_DELAY (tamsayı)
- 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.
- ENV_PATH (dizge)
- Sıradan kullanıcı için PATH ortam değişkenini tanımlar. Öntanımlı değer: /usr/local/bin:/bin:/usr/bin
- ENV_ROOTPATH (dizge), ENV_SUPATH (dizge)
- 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
- ALWAYS_SET_PATH (mantıksal)
- --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 |