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 veTERM
hariç tüm ortam değişkenlerini temizler -
HOME
,SHELL
,USER
,LOGNAME
vePATH
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çbiriminECHO
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:-
--shell
seçeneğinde belirtilen kabuk -
--preserve-environment
belirtilmemişseSHELL
ortam 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/shells
içinde listellenmemişse) ve çağıran kullanıcı root değilse--shell
seçeneği veSHELL
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ıliste
de belirtilen ortam değişkenlerini sıfırlamaz.liste
dekiHOME
,SHELL
,USER
,LOGNAME
vePATH
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 olarakyes
atanırsa suPATH
ortam değişkenini ilklendirir./bin
ve/sbin
dizinlerinin/usr
altına alındığı sistemlerdePATH
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İ
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>.