.bashrc вызывает сбой git push

Поскольку это слишком велико для комментария, я отправлю его в качестве ответа ...

Если вы хотите, чтобы информация на диске была записана вне файла, не интерпретируемой файловой системой (чтобы она выиграла не показывать и игнорировать его, не перезаписывая его), тогда вам придется покопаться во внутреннем устройстве FS и посмотреть, как это сделать для этой конкретной FS , вам может потребоваться решить, заставляя его думать, что файл является больше, чем есть, чтобы не стереть вашу информацию (если вы просто запишете данные на диск, FS будет думать об этом как о свободном пространстве и когда-нибудь сможет его использовать). Вам также нужно будет сделать файл короче, чтобы разрешить запись дополнительных байтов вне файла и непосредственно на диск. Для этого вам, скорее всего, потребуется написать свою собственную программу, вы можете записывать прямо на диск с помощью dd , но чтобы определить правильное место, где вам нужно написать, будет лучше создать настоящую программу, ни сценарий, ни простая команда echo .

Вы можете создать небольшой раздел и записать туда свою информацию, но это будет легко обнаружить (небольшие разделы или разделы без ФС могут быть подозрительными).

Если вы хотите скрыть свою информацию на жестком диске, который не загружается, вы можете использовать ту часть MBR, куда идет код запуска, для безопасного хранения вашей информации (это означает, что она никем не будет перезаписана - если только вы пишете новый MBR - не то чтобы его нельзя было увидеть, поскольку любой может dd if = / dev / sdb of = your_file bs = 512 count = 1 и прочитать MBR, если вы не зашифровали информация).

И последнее, но не менее важное: как я сказал в комментарии, вы можете использовать стеганографию, чтобы скрыть свою информацию с отличными результатами, но если вам также нужна безопасность, вы можете сначала зашифровать информацию и использовать стеганографию, чтобы скрыть ее. Тот факт, что информация находится внутри файла или информация выходит за пределы файла, не имеет значения с точки зрения безопасности, поскольку, если информация хранится в формате, она не будет видна невооруженным глазом . Вы можете сравнить это с безопасностью через неизвестность, которая, в конце концов, вовсе не является безопасностью.

Как я уже говорил в своем комментарии, вы можете использовать стеганографию, чтобы скрыть информацию в jpg, mp3 или любом другом виде файла. Вы даже можете использовать текстовые файлы и использовать старый метод скрытия сообщения внутри сообщения (каждое X-слово является частью нового сообщения, поэтому, если вы не знаете, что вы прочитаете сообщение, не заметив другого).

0
22.06.2018, 14:54
2 ответа

Я не думаю, что есть что-то особенное для git pushхуков на сервере, которые вы могли бы использовать, но вы могли бы проверить, выводите ли вы на терминал:

if [ -t 1 ] && [ -e./.doc ]; then
    cat./.doc
    pm2 list
fi

Это относится к ряду других случаев, когда вывод содержимого ./.docбесполезен и может вызвать проблемы.

2
28.01.2020, 02:23

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

Обычная тактика для этого — проверить, не подключен ли стандартный ввод к терминалу через [[ ! -t 1 ]], или проверить, не помечен ли процесс bash как интерактивный через [[ $- != *i* ]]. Если один из этих случаев сбоя оценивается как true, то больше ничего в вашем bashrc вообще не должно выполняться, и вы должны просто вернуться раньше.

1
28.01.2020, 02:23

Теги

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