Меня su
перевели на другого пользователя для запуска экрана, но я получил ошибку Cannot open your terminal '/dev/pts/4' - please check.
Я нашел решение: script /dev/null
и после этого я могу использовать экран. Почему это работает? Это создает новый псевдо-терминал?
В UNIX это виртуальный файл, в который можно записать. Данные, записанные в этот файл, удаляются. Это похоже на вызов файла NUL на компьютерах с Windows.
Ключевой момент; При рутировании машины злоумышленники часто перенаправляют ведение журнала на /dev/null
. Например, команда ln -s /dev/null
.bash_history
заставит систему прекратить регистрировать команды bash.
С точки зрения непрофессионала, это означает почти то же самое, что и черная дыра. Типичное использование: если вам не нравится то, что я должен сказать, пожалуйста, направьте ваши комментарии на /dev/null
.
Думайте о / dev / null как о "черной дыре". Это ближайший эквивалент файла только для записи. Все написанное в нем исчезает навсегда. Попытки прочитать или вывести из него ничего не дают. Тем не менее, / dev / null может быть весьма полезен как из командной строки, так и из сценариев.
/dev/null
script /dev/null
предотвращает появление любого сообщения на вашем экране. Он подавляет сообщения, направляя их в «черную дыру».
Также взгляните на . Почему перенаправление 'script' в / dev / null / позволяет 'screen' работать, пока su 'как другой пользователь?
Источник: словарь Linux sup>
По сути, скрипт сохраняет все диалоги терминала в файл, когда вы указываете / dev / null в качестве файла, все скрипты материала, которые будут сохраняться в файл, будут сохраняться в черной дыре.