| 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-cseçeneği ile aktarır. -
-f,--fast -
Kabuğa
-fseç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.
--groupseç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-environmentile belirtilen değişkenler veTERMhariç tüm ortam değişkenlerini temizler -
HOME,SHELL,USER,LOGNAMEvePATHortam 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,LOGNAMEortam değişkenlerini tanımlamaz.--loginseç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ı-cuygulama&). 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çbiriminECHOseçeneği devre dışı bırakılır. -
-s,--shell=kabuk -
Öntanımlı kabuk yerine belirtilen
kabukkabuğunu çalıştırır. Çalıştırılacak kabuk sırasıya aşağıdaki kurallara göre seçilir:-
--shellseçeneğinde belirtilen kabuk -
--preserve-environmentbelirtilmemişseSHELLortam değişkeninde belirtilen kabuk -
Hedef kulllanıcının passwd girdisinde listelenen kabuk
-
/bin/sh
Hedef kullanıcının kısıtlı bir kabuğu varsa (örn,
/etc/shellsiçinde listellenmemişse) ve çağıran kullanıcı root değilse--shellseçeneği veSHELLortam değişkenleri yok sayılır. -
-
--session-command=komut -
-cgibidir, fakat yeni bir oturum başlatmaz (Cesaret kırıcı.) -
-w,--whitelist-environment=liste -
--loginiçin ortamı temizlerken virgül ayraçlılistede belirtilen ortam değişkenlerini sıfırlamaz.listedekiHOME,SHELL,USER,LOGNAMEvePATHortam 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
PATHortam değişkenini tanımlar. Öntanımlı değer:/usr/local/bin:/bin:/usr/bin -
ENV_ROOTPATH(dizge),ENV_SUPATH(dizge) -
root için
PATHortam 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) -
--loginve--preserve-environmentbelirtilmez ve değer olarakyesatanırsa suPATHortam değişkenini ilklendirir./binve/sbindizinlerinin/usraltına alındığı sistemlerdePATHortam değişkeni farklı olabilir. Bu değişken ayrıca,--loginkomut 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 -
--loginbelirtilmediğ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İ
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
* Özgün Belgenin Lisans ve Telif Hakkı bilgileri: * * su(1) for Linux. Run a shell with substitute user and group IDs. * * Copyright (C) 1992-2006 Free Software Foundation, Inc. * Copyright (C) 2012 SUSE Linux Products GmbH, Nuernberg * Copyright (C) 2016-2017 Karel Zak <kzak@redhat.com> * * This program is free software; you can redistribute it and/or modify it * under the terms of the GNU General Public License as published by the Free * Software Foundation; either version 2, or (at your option) any later * version. * * This program is distributed in the hope that it will be useful, but WITHOUT * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or * FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for * more details. You should have received a copy of the GNU General Public * License along with this program; if not, write to the Free Software * Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, * USA. * * Based on an implementation by David MacKenzie <djm@gnu.ai.mit.edu>.