GNU/Linux >> Znalost Linux >  >> Linux

Jaké jsou různé způsoby zobrazení zprávy v bash shellu poté, co se uživatel přihlásí?

Tradiční unixové systémy zobrazují /etc/motd po úspěšném ověření uživatele a před vyvoláním uživatelského shellu. Na moderních systémech to dělá pam_motd Modul PAM, který lze nakonfigurovat v /etc/pam.conf nebo /etc/pam.d/* pro zobrazení jiného souboru.

Samotný ssh server může být nakonfigurován pro tisk /etc/motd pokud PrintMotd volba není v /etc/sshd_config vypnutá . Může také vytisknout čas předchozího přihlášení, pokud PrintLastLog není vypnuto.

Další tradiční zpráva vám může sdělit, zda je to You have new mail nebo You have mail . Na systémech s PAM se to provádí pomocí pam_mail modul. Některé shelly mohou vytisknout zprávu o dostupné poště.

Po spuštění uživatelského prostředí mohou spouštěcí soubory uživatele vytisknout další zprávy. Pro interaktivní přihlášení, pokud je přihlašovací shell uživatele shell ve stylu Bourne, vyhledejte /etc/profile , ~/.profile plus ~/.bash_profile a ~/.bash_login pro bash. Interaktivní přihlášení do zsh najdete v /etc/zprofile , /etc/zlogin , /etc/zshrc , ~/.zprofile , ~/.zlogin a ~/.zshrc . Interaktivní přihlášení do csh najdete v /etc/csh.login a ~/.login .

Pokud je přihlašovací shell uživatele bash a toto je neinteraktivní přihlášení, pak bash spustí ~/.bashrc (což je opravdu zvláštní, protože ~/.bashrc se provádí pro interaktivní shelly pouze v případě, že shell není přihlašovací shell). To může být zdrojem potíží; Doporučuji zahrnout následující úryvek na začátek ~/.bashrc na záchranu, pokud shell není interaktivní:

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

Je jich několik:

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

Navíc

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

Možná budete muset projít každý program, který je volán z těchto skriptů, protože něco jako fortune může ukládat vtipy, které zobrazuje, v /usr/share . Chcete-li jej izolovat, můžete:

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

Na Ubuntu je také soubor:

/etc/motd.tail

Novější systémy ukládají součásti MOTD v /etc/update-motd.d takže lze spouštět různá makra k přizpůsobení motd tak, aby se při přihlášení zobrazovaly informace o aktualizaci, systémová upozornění atd.

Přidejte své přizpůsobení jako další soubor s prioritou od 00 na 99

99-footer obvykle načte /etc/motd.tail pokud je přichycení na konec dostatečné a nechcete použít žádnou z položek makra.


Linux
  1. Linux – Jaké jsou různé způsoby nastavení oprávnění k souborům atd. na Gnu/linux?

  2. Jaké jsou speciální parametry/proměnné (bash) Shell?

  3. Jak mohu použít Bash jako přihlašovací shell, když mi Sysadmin odmítne dovolit to změnit?

  1. Jaké jsou různé typy shellů v Linuxu?

  2. UNIX / Linux:Co je to Shell? Jaké jsou různé Shelly?

  3. Jaké jsou nevýhody linuxových front zpráv?

  1. Shell Script, čtěte na stejném řádku po ozvěně zprávy

  2. Jaký je rozdíl mezi prováděním skriptu Bash a jeho získáváním?

  3. Proč uživatel 'bin' potřebuje přihlašovací shell?