login
Önceki Kullanıcı Komutları Sonraki
login(1)Kullanıcı Komutları login(1)
İSİM
login — Kullanıcının sisteme girişini sağlar.
KULLANIM
login [ isim ]
login -p
login -h konakismi
login -f isim
AÇIKLAMA
login, bir sisteme bağlanmak için kullanılır. Ayrıca, istenilen bir anda, bir kullanıcı adından başka birine geçiş yapmak içinde kullanılabilir (günümüzdeki pek çok kabuk, yerleşik olarak bu özelliği desteklemektedir).
Herhangi bir argüman belirtilmemişse, login kullanıcı adını soracaktır.
Şayet kullanıcı root değilse, ve eğer /etc/nologin dosyası varsa, bu dosyanın içeriği ekrana basılacak ve login sonlandırılacaktır. Bu genellikle, sistem kapanırken, yapılacak bağlantıları önlemek için kullanılır.
Şayet kullanıcı için /etc/usertty içinde özel erişim kısıtlamaları tanımlanmışsa, kullanıcı bu şartları karşılamak zorundadır. Aksi taktirde bağlantı girişimi reddedilecek ve bir syslog iletisi üretilecektir. Daha fazla bilgi için "ÖZEL ERİŞİM KISITLAMALARI" bölümüne bakınız.
Şayet kullanıcı root ise, /etc/securetty içinde listelenen uçbirimlerden birisini kullanarak bağlanmak zorundadır. Giriş hataları syslog tarafından kaydedilir.
Bütün bu şartlar kontrol edildikten sonra, parola istenecek ve kontrol edilecektir (şayet bu kullanıcı için parola gerekli ise). login sonlandırılmadan önce, 10 giriş denemesine izin vardır, fakat ilk üç denemeden sonra isteğe karşılık verme süresi uzayacaktır. Bağlantı hataları syslog üzerinden rapor edilecektir. Bu, ayrıca başarılı root bağlantılarını raporlamak içinde kullanılır.
Şayet .hushlogin dosyası varsa, bir "hızlı" bağlantı gerçekleştirilir (bu özellik; e-posta kontrolünü, en son bağlantı zamanının ve günün iletisinin ekrana basılmasını engeller). Diğer yandan, şayet /var/log/lastlog dosyası varsa, son bağlantı zamanı ekrana basılacaktır (ve o anki bağlantı kaydedilecektir).
Uçbirimin UID ve GID ayarlarını yapmak gibi, rastgele yönetim işleri yapılır. Şayet daha önceden belirtilmişse, TERM ortam değişkeni korunur (-p seçeneği kullanılmışsa diğer çevre değişkenleri de korunur). Daha sonra HOME, PATH, SHELL, TERM, MAIL ve LOGNAME ortam değişkenleri ayarlanır. PATH değişkeni normal kullanıcılar için öntanımlı olarak /usr/local/bin:/bin:/usr/bin:. ve root kullanıcı için /usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin'dir. Son olarak, şayet bu bir "hızlı" bağlantı değilse; günün iletisi görüntülenir, kullanıcıya ait /var/spool/mail içindeki dosya kontrol edilir ve şayet dosya uzunluğu sıfırdan farklı ise bir ileti görüntülenir (şayet bu dosyanın uzunluğu sıfırdan farklı ise, kullanıcıya bir ileti gelmiş demektir).
Daha sonra kullanıcı kabuğu başlatılır. Şayet /etc/passwd içinde kullanıcı için bir kabuk tanımlı değilse, /bin/sh kullanılır. Şayet /etc/passwd içinde bir dizin tanımlı değilse, ev dizini olarak / (kök) dizini kullanılır (yukarıda bahsedilen .hushlogin dosyası için ev dizinine bakılır).
SEÇENEKLER
-p
getty(8) tarafından kullanılır, ortam değişkenlerinin korunmasını sağlar.
-f
İkinci bağlantı doğrulamasını atlamak için kullanılır. Özellikle root kullanıcı için çalışmaz ve Linux altında da çalıştığı görülmemiştir.
-h
Diğer sunucular tarafından (telnetd(8) gibi) uzak konak adını, login'e bildirmek için kullanılır, böylece uzak adı utmp ve wtmp içine yerleştirilebilir. Bu seçenek sadece root kullanıcı içindir.
ÖZEL ERİŞİM KISITLAMALARI
/etc/securetty dosyası, root kullanıcının bağlantı yapabileceği, uçbirim isimlerinin listesini içerir. Her bir satırda, /dev/ öneki olmaksızın bir tty aygıtının adı belirtilmelidir. Şayet bu dosya yoksa, root kullanıcı herhangi bir uçbirim üzerinden bağlanabilir.
Günümüzde çoğu Linux sistemi PAM (Pluggable Authentication Modules - Eklenebilir Kimlik Kanıtlama Modülleri) kullanmaktadır. PAM kullanılmayan sistemlerde /etc/usertty dosyası, belirlenen kullanıcılar için, ek erişim kısıtlamaları içerir. Şayet bu dosya yoksa, ek erişim kısıtlamaları yüklenemez. Bu dosya çeşitli bölümler içerir. Üç bölüm türü münkündür: CLASSES, GROUPS ve USERS. CLASSES bölümü uçbirim sınıflarının ve sunucu adlarının şablonlarını içerir. GROUPS bölümü her bir grup için, USERS bölümü ise her bir kullanıcı için izin verilen uçbirimleri ve sunucuları tanımlar.
Bu dosya içindeki her bir satır en fazla 255 karaktere sahip olabilir. Açıklamalar # ile başlar ve satır sonuna kadar devam eder.
CLASSES Bölümü
Bir CLASSES bölümü bir satırın başında tamamen büyük harflerden oluşmuş CLASSES dizgesi ile başlar. Yeni bir bölümün başlangıcına veya dosyanın sonuna kadar her bir satır sekmeler ya da boşluklar tarafından ayrılmış sözcük dizilimleri içerir. Her bir satır uçbirim sınıfları ve sunucu şablonları içerir.
Satır başındaki sözcük, satırın kalanında tanımlanmış uçbirimler ve sunucu şablonları için ortak sınıf ismidir. Bu sınıf ismi GROUPS veya USERS bölümlerinde kullanılabilir. Yinelenmiş sınıflar oluşturma hatasından korunmak için sınıf isimleri tanımlamaların içinde kullanılmamalıdır.
Örnek bir CLASSES bölümü:
CLASSES
sinif1       tty1 tty2
sinif2       tty3 @.foo.com
Burada sinif1 ve sinif2 sınıfları sağ taraflarındakilerle tanımlanmıştır.
GROUPS Bölümü
Bir GROUPS bölümü; her bir UNIX grubu için izin verilen uçbirim ve sunucuları tanımlar. Şayet bir kullanıcı /etc/passwd ve /etc/group dosyalarındaki tanımlara göre göre bir UNIX grubunun üyesi ise ve bu grup /etc/usertty içindeki GROUPS bölümünde belirtilmiş ise, kullanıcıya erişim izni verilmiş demektir.
Bir GROUPS bölümü bir satırda tamamen büyük harflerden oluşmuş GROUPS yazısı ile başlar ve altındaki tüm satırlar, boşluklar veya sekmeler ile ayrılmış, kelime dizileridir. Bir satırdaki ilk kelime grup adı ve diğer kelimeler; grup elemanlarına bağlantı için izin verilen tty'lerin ve konakların adlarıdır. Bu tanımlamalar önceki bölümde( CLASSES bölümünde) açıklanan sınıfları içerebilirler.
Örnek bir GROUPS bölümü:
GROUPS
sys       tty1 @.bar.edu
stud      sinif1 tty4
Bu örneğe göre, sys grubunun üyelerinin bar.edu alanından ve tty1 üzerinden oturum açabilir. stud grubunun üyeleri ise sinif1 sınıfında belirtilen tty'lerden veya tty4'den oturum açabilir.
USERS Bölümü
Bir USERS bölümü bir satırda tamamen büyük harflerden oluşmuş USERS yazısı ile başlar ve altındaki tüm satırlar, boşluklar veya sekmeler ile ayrılmış kelime dizilerinden oluşur. Bir satırdaki ilk kelime kullanıcı adı olup diğer kelimeler bağlantı için izin verilen tty'lerin ve konakların adlarıdır. Bu tanımlamalar CLASSES bölümünde açıklanan sınıfları içerebilirler. Dosyanın başında bölüm adı belirtilmeden yerleştirilmiş satırlar varsa bu satırların öntanımlı olarak USERS bölümünün satırları olduğu varsayılır. Örnek bir USERS bölümü:
USERS
zacho     tty1 @130.225.16.0/255.255.255.0
blue      tty3 sinif2
Bu örneğe göre, zacho sadece tty1'den ve IP adresi 130.225.16.0 - 130.225.16.255 aralığında olan konaklardan oturum açabilirken, blue'ya tty3'den ve sinif2 sınıfında belirtilen yerlerden oturum açabilir.
USERS bölümünde kullanıcı adı olarak * belirtilmiş bir satır bulunabilir ve bu satırdaki tanımlar diğer satırlardaki tanımlarla uyuşmayan kullanıcılara uygulanır.
Eğer bir kullanıcı için hem USERS hem de GROUPS bölümünde eşleşme sağlanıyorsa, bu kullanıcı her iki bölümde izin verilen yerlerin herhangi birinden bağlanabilir.
Kökenler
USERS, GROUPS ve CLASSES bölümlerinde tanımlanan tty ve konak kalıplarına köken (origin) adı verilir. Bir köken dizgesi şu biçimlerde olabilir:
  • /dev/ öneki olmaksızın bir tty aygıtının ismi; örneğin, tty1 veya ttyS0.
  • @localhost dizgesi; bu, kullanıcının yerel konaktan aynı konağa telnet/rlogin yapmasına izin verildiği anlamına gelir. Bu sayede, kullanıcı xterm -e /bin/login gibi bir komutu çalıştırabilir.
  • @.bir.dom gibi bir alan adı soneki; bu, kullanıcının belirtilen soneke sahip alanlardaki konaklardan telnet/rlogin yapmasına izin verildiği anlamına gelir.
  • @x.x.x.x/y.y.y.y biçiminde yazılmış bir IPv4 adres aralığı; burada x.x.x.x ağ adresini, y.y.y.y ise ağ maskesini belirtir. Örneğin, @130.225.16.0/255.255.254.0 dizgesi, kullanıcının 130.225.16.0 - 130.225.17.255 aralığında bir IP adresinden telnet/rlogin yapmasına izin verildiği anlamına gelir.
Yukarıdaki belirtimlerin başına, aşağıdaki sözdizimlerine uygun olarak bir zaman belirtimi getirilebilir:
zaman_belirtimi ::= '[' gün_veya_saat [':' gün_veya_saat]* ']'
gün             ::= 'mon' | 'tue' | 'wed' | 'thu' | 'fri' | 'sat' | 'sun'
saat            ::= '0' | '1' | ... | '23'
saat_belirtimi  ::= saat | saat '-' saat
gün_veya_saat   ::= gün | saat_belirtimi
Örneğin, [mon:tue:wed:thu:fri:8-17]tty3 kökeni, Pazartesi gününden Cuma gününe kadar 8:00 ile 17:59 saatleri arasında tty3 üzerinde oturum açılabileceğini belirtir. Bu açıklamadan da anlaşılacağı üzere a-b biçiminde belirtilen bir zaman aralığı a:00 ile b:59 arasındaki tüm anları içerir. 10 gibi tek bir saat belirtimi ise, 10:00 ile 10:59 arasındaki tüm anları içerecektir.
Bir tty veya konak belirtiminin başında bir zaman belirtiminin olmayışı buralardan zaman sınırlaması olmaksızın her an oturum açılabileceği anlamına gelir. Eğer bir zaman belirtimi kullanmak isterseniz, hem bağlantıya izin verilen günleri hem da saati ya da saat aralığını belirtmelisiniz. Zaman belirtimleri boşluk karakterlerini içeremezler.
Öntanımlı kural belirtilmemiş bir /etc/usertty içindeki satırlardan biriyle eşleşmeyen her kullanıcıya herhangi bir anda herhangi bir yerden oturum açma izni verilmiş demektir (standart davranış).
İLGİLİ DOSYALAR
/var/run/utmp
/var/log/wtmp
/var/log/lastlog
/usr/spool/mail/*
/etc/motd
/etc/passwd
/etc/nologin
/etc/usertty
.hushlogin
İLGİLİ BELGELER
mail(1), passwd(1), passwd(5), environ(7), init(8), getty(8), shutdown(8).
YETERSİZLİKLER
Belgelenmemiş olan BSD'nin -r seçeneği desteklenmemektedir. Bu bazı rlogind(8) uygulamaları için gerekli olabilir.
Eskiden mümkün olan ardışık oturum açmalar artık çalışmamaktadır; çoğu amaçlar için su(8) bunu zaten ikame ediyor. Bunun yerine, güvenlik gerekçeleriyle, tty üzerinde olası dinleme süreçlerini kaldırmak için login bir vhangup() sistem çağrısı yapar. Bu parola dinlemeyi engellemek içindir. Biri kabuk üzerinde login komutunu kullanırsa, o kabuk artık tty'nin gerçek sahibi olmayacağından vhangup() tarafından öldürülür. Üst seviye kabuk veya xterm'de exec login kullanılarak bunun olması engellenebilir.
YAZAN
HP-UX için Michael Glad () tarafından geliştirilen BSD login 5.40 (5/9/89) Linux 0.12'ye Peter Orbaek () tarafından uyarlandı.
ÇEVİREN
Yalçın Kolukısa , Eylül 2005
util-linux 1.64 Kasım 1996login(1)
Önceki Üst Ana Başlık Sonraki
ln Başlangıç logname
Bir Linux Kitaplığı Sayfası