Изменение широковещательного сообщения завершения работы

Я нашел решение для этого, которое могло бы быть полезным для других также. Я использовал следующую команду для закрытия соединения прямо после запуска команды, присоединенной к ssh:

ssh host "command to run on the host machine > /dev/null &"

Я точно не понимаю причины, почему эта команда вынуждает соединение закрыться, но по крайней мере это было полезно для меня. Если кто-либо понимает, почему это уничтожает соединение SSH; объясните.

4
27.11.2013, 06:36
2 ответа

Поскольку @Zelda упомянул, что сообщения являются hardcoded. Если Вы хотите изменить его вне исправления сообщения с дополнительными битами:

$ sudo shutdown -h +120 Save your work.

Необходимо будет перекомпилировать shutdown, создание Вашего собственного исполняемого файла, который включает специализированное сообщение.

Например, вот демонстрационный исходный файл, shutdown.c. Должны были бы быть изменены строки, такие как они, и.c файлы должны будут быть восстановлены.

/*
 *      Tell everyone the system is going down in 'mins' minutes.
 */
void warn(int mins)
{
        char buf[MESSAGELEN + sizeof(newstate)];
        int len;

        buf[0] = 0;
        strncat(buf, message, sizeof(buf) - 1);
        len = strlen(buf);

        if (mins == 0)
                snprintf(buf + len, sizeof(buf) - len,
                        "\rThe system is going down %s NOW!\r\n",
                        newstate);
        else
                snprintf(buf + len, sizeof(buf) - len,
                        "\rThe system is going DOWN %s in %d minute%s!\r\n",
                                newstate, mins, mins == 1 ? "" : "s");
        wall(buf, 0);
}
5
27.01.2020, 20:49
  • 1
    я отчасти удивлен, что это - hardcoded. Интересно, не сделали ли они просто мысли об этом или если это было сознательное решение с учетом требований безопасности, предотвращая кого-то, чтобы сделать завершение работы с бессмысленным сообщением или никаким сообщением вообще. –  talles 27.11.2013, 18:33
  • 2
    @talles - вероятно, и то, и другое. Вы не хотите людей, играющих в игры с сообщениями. –  slm♦ 27.11.2013, 21:46

Вы не можете изменить сообщение по умолчанию, можно только добавить некоторое определенное сообщение Вашего путем обеспечения этого после времени:

# shutdown 60 Down in an hour

Broadcast message from zelda@mongrel2_test
     (/dev/pts/0) at 6:37 ...

The system is going down for maintenance in 60 minutes!
Down in an hour

Вы не должны заключать текст в кавычки после числа минут, которые Вы обеспечиваете завершению работы. При отмене завершения работы можно предоставить сообщение также.

4
27.01.2020, 20:49

Теги

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