Bir kullanıcı oturum açtıktan sonra iletinin bash kabuğuna görüntülenmesinin farklı yolları nelerdir?


14

SSH üzerinden giriş yaptıktan hemen sonra markalı bir karşılama görüntüleyen bash kabuğu olarak kullanan bir CentOS 5.7 VPS var. Değiştirmeye çalışıyorum, ama her zamanki yerlerde nerede olduğunu bulamıyorum. Şimdiye kadar motddosyayı aradım ve sshd_configbaşlık dosyası ayarlarını kontrol ettim . Bir banner dosyası ayarlanmadı.

Giriş mesajının nerede olabileceğini başka nereden arayabilirim?


1
İletinin bazı alt kümeleri için yinelemeli grepolarak deneyebilirsiniz /etc.
Kevin

@ Kevin Bekle, beni Twitter'da takip ediyor musun? Bir şey bulmak için grep -r kullandığımı düşündüm. Ben bir doofus değilim ve / =) 'dan başlamaya karar verdim
Wesley

Ben de başladım, /sonsuza kadar 1 TB'lık bir disk alır, size söyleyeyim ... Ama hiç twitterda bulunmadım :)
Kevin

@WesleyDavid ekran görüntüsü gönderebilir misiniz?
Karlson

Yanıtlar:


22

Geleneksel unix sistemleri /etc/motd, kullanıcının kimliği doğrulandıktan ve kullanıcının kabuğu çağrılmadan önce görüntülenir. Modern sistemlerde, bu, farklı bir dosyada veya görüntülenmesi pam_motdiçin yapılandırılabilen PAM modülü tarafından yapılır ./etc/pam.conf/etc/pam.d/*

Seçenek kapalı /etc/motddeğilse ssh sunucusunun kendisi yazdırmak üzere yapılandırılmış olabilir . Kapatılmamışsa önceki oturum açma zamanını da yazdırabilir .PrintMotd/etc/sshd_configPrintLastLog

Başka geleneksel ileti olmadığını söyleyebilir You have new mailya You have mail. PAM'li sistemlerde, bu pam_mailmodül tarafından yapılır . Bazı kabuklar, kullanılabilir posta hakkında bir ileti yazdırabilir.

Kullanıcının kabuğu başlatıldıktan sonra, kullanıcının başlangıç ​​dosyaları ek iletiler yazdırabilir. Kullanıcının giriş kabuğu bir Bourne tarzı kabuk ise interaktif giriş için, bak /etc/profile, ~/.profileartı ~/.bash_profileve ~/.bash_loginpartisi içindi. Zsh etkileşimli bir giriş, içinde görünüm için /etc/zprofile, /etc/zlogin, /etc/zshrc, ~/.zprofile, ~/.zloginve ~/.zshrc. Csh'e interaktif bir giriş yapmak için, /etc/csh.loginve bölümüne bakın ~/.login.

Kullanıcının giriş kabuğu bash ise ve bu etkileşimli olmayan bir giriş ise, bash yürütülür ~/.bashrc(bu gerçekten gariptir, çünkü ~/.bashrcyalnızca kabuk bir giriş kabuğu değilse etkileşimli kabuklar için yürütülür). Bu bir sorun kaynağı olabilir; ~/.bashrcKabuk etkileşimli değilse kurtarmak için aşağıdaki snippet'i eklemenizi öneririm :

if [[ $- != *i* ]]; then return; fi

.Bash_profile dosyamda bir dizi yankı vardı. > _ <Bu soru orijinal için yabancı, ancak: .bash_profile içindeki şeyleri yankılamak mesaj göndermenin kötü bir yolu gibi görünmüyor mu? Belki sadece tek bir kullanıcıya mesaj göndermek istiyorsanız daha iyi olur. Ne de olsa bu kök hesaptır. Sonra tekrar, ben bir çaylağım, bu yüzden şeyleri çok eleştirecek bir konumda değilim.
Wesley

@WesleyDavid .bash_profileBir şeyi yankılamak sadece kendinize bir mesaj gönderir. Bazı insanlar oturum açtıklarında faydalı veya eğlenceli mesajlar görmeyi sever. Ne mesajın içeriğini ne de insanları ve ilgili ortamı bilmediğim için sisteminizin kök hesabı için konuşamam.
Gilles 'SO- kötü olmayı kes'

/ Etc / motd içine bir mesaj koymak Mac OS X üzerinde çalışıyordu. Bunun için teşekkürler.
dgig

8

Birkaç tane var:

/etc/motd
/etc/issue
/etc/profile - Could echo the message
/etc/profile.d/* - Would be called from /etc/profile

bunlara ek olarak

/etc/bash_bashrc
/etc/.bashrc
/etc/bashrc
$HOME/.profile
$HOME/.bashrc

Ayrıca, bu komut dosyalarından çağrılan her programdan fortunegeçmeniz gerekebilir, çünkü böyle bir şey görüntülediği tırnakları saklayabilir /usr/share. İzole etmek için şunları yapabilirsiniz:

. /etc/profile
. /etc/bash.bashrc
. $HOME/.profile
. $HOME/.bashrc

Ubuntu'da da dosya var:

/etc/motd.tail

1
/etc/issuegeleneksel olarak bir kullanıcı oturum açmadan önce gösterilir , daha sonra değil.
Chris Down

Teşekkürler! Hakkında bilmiyordum profileve profile.d. Ne yazık ki, önerilerinizin dördü de hiçbir şeye dönüşmedi. Bash ikili dosyasında özel bir şeyin derlenip derlenmediğini merak ediyorum ...?
Wesley

@ChrisDown Doğru ama komut istemi görüntülendikten sonra ekrana bir şey koyacak herhangi bir sistemin farkında değilim.
Karlson

@WesleyDavid Cevabı değiştirdim.
Karlson

Tüm bilgiler için çok teşekkürler! Bu, mermilerin TTY oturumlarına bilgi gönderebileceği çeşitli yolları öğrenme yolunda bana çok şey verdi. =)
Wesley

3

Daha yeni sistemler MOTD bileşenlerini saklar, /etc/update-motd.dböylece girişte güncelleme bilgileri, sistem uyarıları vb. Gösterilecek şekilde motd'u özelleştirmek için çeşitli makrolar çalıştırılabilir.

Dan öncelikli başka dosya olarak özelleştirme ekleyin 00etmek99

99-footergenellikle /etc/motd.tailsonuna kadar vurmak yeterliyse yüklenir ve makro öğelerin hiçbirini kullanmak istemezsiniz.


1

İçine bakabilirsin /etc/shell, değiştirmeye çalıştığım bir mesaj buldum. Herhangi bir metni silmeniz ve kendi metninizi eklemeniz yeterlidir. Ayrıca dosyaya yerleştirdiğinizde boşluklar ve yeni satırlar görünecektir.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.