GNU/Linux >> Linux Esercitazione >  >> Linux

/etc/motd non viene visualizzato quando una named pipe?

Non ti perdi nulla di ovvio. Ho scavato nella fonte del pam_motd modulo per capirlo.

Il trucco è che pam_motd fa quanto segue con /etc/motd :

  1. Controlla la dimensione del file.
  2. Assegna un buffer di quella dimensione.
  3. Leggi l'intero file nel buffer.
  4. Invia il buffer attraverso qualunque metodo di output sia in uso. (PAM è modulare, dopotutto; non posso presumere che sia un terminale.)

Poiché una pipe non ha una dimensione di file, questo fallisce al passaggio 1.

MODIFICA :Perché PAM è preoccupata per le dimensioni in primo luogo? Immagino che sia per prevenire negazioni del servizio, intenzionali o non intenzionali. Quando PAM controlla la dimensione del file, si rifiuta anche di emettere il motd se il file è più grande di 64 kbyte. Immagino che chiunque abbia provato ad accedere al sistema sarebbe molto triste se qualcuno riuscisse a reindirizzare un file di film in DVD in /etc/motd, per esempio -- per non parlare della quantità di memoria che potrebbe richiedere.


Questo link ti guiderà attraverso tutti i passaggi essenziali


Linux
  1. CentOS/RHEL:il punto di montaggio /tmp non si monta automaticamente quando viene aggiunto in /etc/fstab

  2. echo o print /dev/stdin /dev/stdout /dev/stderr

  3. Nel mio file /etc/hosts/ su Linux/OSX, come creo un sottodominio con caratteri jolly?

  4. Differenza tra /etc/hosts e /etc/resolv.conf

  5. Limite dimensione di /etc/hosts (Linux)

Il collegamento simbolico non funziona come previsto quando si cambia utente?

Come viene aggiornato /etc/motd?

CentOS / RHEL:come recuperare dal file /etc/passwd cancellato

Spiegazione del file di configurazione DNS /etc/named.rfc1912.zones

Comprensione del file /etc/group

Comprendere i file /proc/mounts, /etc/mtab e /proc/partitions