man/system_admin
man · Sistem Yönetimi

$ su

Bölüm 1 · Sistem Yönetimi

kullanıcı kimliğini değiştir

Sözdizimi

     su [-] [-flm] [login [args]]

Açıklama

su aracı, PAM aracılığıyla uygun kullanıcı kimlik bilgilerini talep eder ve bu kullanıcı kimliğine (varsayılan kullanıcı süper kullanıcıdır) geçiş yapar. Ardından bir kabuk çalıştırılır.

PAM, su(1) aracının kullanacağı politikayı belirlemek için kullanılır. Özellikle, varsayılan olarak yalnızca “admin” veya “wheel” gruplarındaki kullanıcılar UID 0 (“root”) kullanıcısına geçiş yapabilir. Bu grup gereksinimi, /etc/pam.d/su dosyasındaki “pam_group” bölümü düzenlenerek değiştirilebilir. Bu ayarın nasıl değiştirileceğine dair ayrıntılar için pam_group(8) kılavuzuna bakın.

Varsayılan olarak, USER, HOME ve SHELL hariç olmak üzere ortam değiştirilmez. HOME ve SHELL, hedef kullanıcının varsayılan değerlerine ayarlanır. USER, hedef kullanıcının kullanıcı kimliği 0 olmadığı sürece hedef kullanıcıya ayarlanır, 0 olması durumunda ise değiştirilmez. Çağrılan kabuk, hedef kullanıcıya ait olan kabuktur. Bu, su komutunun geleneksel davranışıdır.

Seçenekler aşağıdaki gibidir:

  • -f: Çağrılan kabuk csh(1) ise, bu seçenek kabuğun “.cshrc” dosyasını okumasını engeller.

  • -l: Tam bir oturum açma (login) simülasyonu yapar. HOME, SHELL, PATH, TERM ve USER hariç ortam değişkenleri atılır. HOME ve SHELL yukarıda belirtildiği gibi değiştirilir. USER hedef kullanıcıya ayarlanır. PATH “/bin:/usr/bin” olarak ayarlanır. TERM mevcut ortamınızdan içe aktarılır. Çağrılan kabuk hedef kullanıcının kabuğudur ve su, hedef kullanıcının ev dizinine geçiş yapar.

  •    (harf yok) -l seçeneği ile aynıdır.
  • -m: Ortamı değiştirmeden bırakır. Çağrılan kabuk sizin oturum açma kabuğunuzdur ve hiçbir dizin değişikliği yapılmaz. Bir güvenlik önlemi olarak, eğer hedef kullanıcının kabuğu standart olmayan bir kabuksa (getusershell(3) tarafından tanımlandığı gibi) ve çağıran kullanıcının gerçek UID'si sıfırdan farklıysa su başarısız olur.

-l (veya -) ve -m seçenekleri birbirini dışlar; belirtilen son seçenek önceki seçeneklerin üzerine yazar.

Komut satırında isteğe bağlı bağımsız değişkenler (args) sağlanırsa, bunlar hedef kullanıcının oturum açma kabuğuna aktarılır. Hedef kullanıcı adından önceki tüm komut satırı bağımsız değişkenlerinin doğrudan su tarafından işlendiğini, hedef kullanıcı adından sonraki her şeyin ise oturum açma kabuğuna aktarıldığını unutmayın.

Varsayılan olarak (istem bir başlangıç dosyası tarafından sıfırlanmadığı sürece), süper kullanıcı istemi, kişiye sahip olduğu muazzam gücü hatırlatmak amacıyla “#” olarak ayarlanır.

Ortam

su tarafından kullanılan ortam değişkenleri:

HOME Yukarıda belirtildiği gibi değiştirilmedikçe, gerçek kullanıcı kimliğinin varsayılan ev dizini.

PATH Yukarıda belirtildiği gibi değiştirilmedikçe, gerçek kullanıcı kimliğinin varsayılan arama yolu.

TERM Değiştirilen kullanıcı kimliği için korunabilecek terminal türünü sağlar.

USER Kullanıcı kimliği 0 (root) olmadığı sürece, bir su işleminden sonra kullanıcı kimliği her zaman etkin kimliktir (hedef kullanıcı kimliği).

Dosyalar

/etc/pam.d/su su için PAM yapılandırması.

Örnekler

     su -m operator -c poweroff
	    operator kullanıcısı olarak bir kabuk başlatır ve poweroff komutunu çalıştırır. Gerçek
	    UID değeriniz 0 olmadığı sürece size operator kullanıcısının şifresi sorulacaktır.
	    Varsayılan olarak “operator” kullanıcısının geçerli bir kabuğu olmadığından -m
	    seçeneğinin gerekli olduğunu unutmayın. Bu örnekte -c seçeneği “operator”
	    kullanıcısının kabuğuna aktarılır ve su için bir bağımsız değişken olarak yorumlanmaz.
     su -m operator -c 'shutdown -p now'
	    Yukarıdakiyle aynıdır, ancak hedef komut birden fazla kelimeden oluşur ve bu nedenle kabuğa
	    aktarılan -c seçeneğiyle kullanılmak üzere tırnak içine alınmıştır. (Çoğu kabuk, -c seçeneğine
	    verilen bağımsız değişkenin tek bir kelime olmasını bekler).
     su -l foo
	    foo kullanıcısı için bir oturum açma simülasyonu yapar.
     su - foo
	    Yukarıdakiyle aynı.
     su -   root için bir oturum açma simülasyonu yapar.

Ayrıca Bakınız

csh(1), sh(1), group(5), passwd(5), environ(7), pam_group(8)

Tarihçe

Bir su komutu ilk olarak Sürüm 1 AT&T UNIX'te yer almıştır.