Как я разыскиваю источник сообщения входа в систему ssh?

Существует подобный вопрос на ТАК. В настоящее время принимаемый ответ @ephemient предлагает использовать ioctl названный fiemap который документируется в linux/Documentation/filesystems/fiemap.txt. Заключение в кавычки из того файла:

fiemap ioctl является эффективным способом для пространства пользователя для получения отображений степени файла. Вместо отображения блока блоком (такого как bmap), fiemap возвращает список степеней.

Кажется, что это - вид информации, которую Вы ищете. Поддержка файловыми системами является снова дополнительной:

Файловые системы, желающие поддерживать fiemap, должны реализовать a ->fiemap обратный вызов на их inode_operations структура.

Поддержка SEEK_DATA и SEEK_HOLE аргументы lseek Вы упомянули из Соляриса, был добавлен в Linux 3.1 согласно странице справочника, таким образом, Вы могли бы использовать это также. fiemap ioctl кажется, является более старым, таким образом, это могло бы быть более портативно через различные версии Linux на данный момент, тогда как lseek могло бы быть более портативным через операционные системы, если Солярис имеет то же.

2
06.11.2013, 09:45
1 ответ

Обновленный ответ на основе некоторого исследования

Удалите дублированные желанные сообщения

  • Так как Вы входите в систему с ssh, первое желанное сообщение должно прибывать из /etc/issue.net. Для удаления сообщения просто удалите содержание того файла.
  • Для удаления второго желанного сообщения удалите содержание /etc/motd.

Colorize строка о почте

К colorize, о котором строке, самая легкая опция я могу думать, требует довольно мало работы низкого уровня: опция состоит в том, что Вы изменяете и создаете pam_mail.so самостоятельно.

Это шаги для изменения его и установки измененной версии

  1. Загрузите источник Linux-PAM с linux-pam.org (официальная стройплощадка).
  2. Извлеките источник (это создаст новый названный каталог Linux-PAM-1.1.8) и CD к нему:

    # tar xzvf Linux-PAM-1.1.8.tar.gz
    # cd Linux-PAM-1.1.8
    
  3. Измените следующие строки (строки, который начинается +, 4 строки вообще) в файле modules/pam_mail/pam_mail.c чтобы быть как, следующая разность показывает (произведенный с diff -u) (имя файла pam_mail.c.new просто мой временный файл, что я мог произвести ту разность):

    --- pam_mail.c  2013-06-18 17:11:21.000000000 +0300
    +++ pam_mail.c.new      2013-12-29 16:57:49.759298926 +0200
    @@ -294,17 +294,17 @@
              switch (type)
                {
                case HAVE_NO_MAIL:
    -             retval = pam_info (pamh, "%s", _("No mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mNo mail.\\033[0m"));
                  break;
                case HAVE_NEW_MAIL:
    -             retval = pam_info (pamh, "%s", _("You have new mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have new mail.\\033[0m"));
                  break;
                case HAVE_OLD_MAIL:
    -             retval = pam_info (pamh, "%s", _("You have old mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have old mail.\\033[0m"));
                  break;
                case HAVE_MAIL:
                default:
    -             retval = pam_info (pamh, "%s", _("You have mail."));
    +             retval = pam_info (pamh, "%s", _("\\033[0;1;31mYou have mail.\\033[0m"));
                  break;
                }
            else
    

    Я просто добавил \\033[0;1;31m к началу тех сообщений и \\033[0m в конец тех сообщений.

    Примечание: Теперь это отображает те сообщения как красные; от страницы ascii-table.com о Escape-последовательностях Ansi под Графическим режимом Набора заголовка можно найти больше полного списка о цветах и другие приемы о настройке терминального вывода.

  4. Компиляция это (Примечание: отсюда до конца я предполагаю, что Ваш рабочий каталог Linux-PAM-1.1.8, тот же самый каталог, к который мы cd'd вначале, т.е. "корневой" каталог пакета Linux-PAM):

    # ./configure
    # make
    
  5. Скопируйте свое существующее pam_mail.so в случае, если это, новый повреждает Вашу систему (я сомневаюсь относительно этого, повредится, но всегда хорошо иметь исходный файл в сейфе):

    # cp /lib/i386-linux-gnu/security/pam_mail.so ~/
    
  6. Скопируйте файл modules/pam_mail/.libs/pam_mail.so кому: /lib/i386-linux-gnu/security/:

    # cp modules/pam_mail/.libs/pam_mail.so /lib/i386-linux-gnu/security/
    
  7. Выйдите из системы и снова в (или запустите новую ssh сессию, безотносительно), и необходимо видеть красный "Никакая почта". сообщение (принимающий Вас не имеют никакой новой почты).

Старый, устаревший ответ

Сообщение электронной почты может быть отключено путем изменения следующей строки в файле /etc/pam.d/system-login от

session optional pam_mail.so dir=/var/spool/mail standard

кому:

session optional pam_mail.so dir=/var/spool/mail nopen

Ссылка от форумов archlinux.

Текст перед почтовой информацией находится в /etc/motd, и можно отключить его, чтобы быть распечатанными когда вход в систему с ssh путем помещения следующей строки в ~/.ssh/config:

PrintMotd no
4
27.01.2020, 22:01
  • 1
    Хм, я прослеживаю вниз часть этого. У меня нет a system-login файл, но я действительно имею /etc/pam.d/login файл, который имеет вызов к pam_mail.so, до которого я проследил /lib/i386-linux-gnu/security. То, что я действительно хочу сделать, просто вводят цвета прежде и после вывода, так, чтобы сообщения как No Mail находятся в другом цвете. –  Ehryk 07.11.2013, 04:40
  • 2
    я попробовал echo -e "\e[36m" в /etc/pam.d/login, без удачи. Я могу окрасить всю вещь путем редактирования файлов в /etc/update-motd.d/ однако это окрашивает почтовую подсказку и в прошлый раз входа в систему, и я, может казаться, не изолирую почтовую часть. Я чувствую, что рядом - какие-либо идеи? –  Ehryk 07.11.2013, 04:42
  • 3
    я думаю также, что Вы рядом, но у меня нет идей теперь. Я брошу более глубокий взгляд на него, когда у меня будет некоторое время. –  Risto Salminen 07.11.2013, 09:51

Теги

Похожие вопросы