В данном случае sed
является самым простым. Добавить текст в последнюю строку файла f
:
sed '$s/$/ ddd/' f
Добавить содержимое файла ff
после последней строки файла f
, одного из:
sed '$r ff' f
cat ff >> f
Добавить содержимое файла ff
(с одной строкой данных) к последней строке файла f
:
sed '$s/$/ '$(< ff)'/' f
Я догадываюсь, но похоже, что Вы хотите заблокировать соединения с портом 21 и портом 22 . Это можно сделать на самом хосте для ftp
iptables -I OUTPUT -p tcp --dport 21 \
-d the.rem.ote.ip \
-m comment --comment "blocked as per ticket##" \
-j REJECT
SFTP, однако, это хитро: он разделяет порт с ssh. Если вы не возражаете против блокирования и исходящих соединений по ssh, то ^21^22 после последней команды. Если вам нужно сохранить ssh и заблокировать sftp, вам нужно будет обусловить удалённый конец никогда не предлагать никаких подкомментариев sftp; или изменить вашу локальную конфигурацию (не уверен, как), чтобы предотвратить sftp любого вида (пользователи могут загрузить двоичные файлы sftp в любое время).
Блокировка портов 21 и 22 на промежуточном брандмауэре, которым вы управляете, гораздо более надежна, но это не будет проблемой Centos/rhel, о которой вам нужно будет спросить здесь.
Я думаю, если вы не можете заблокировать доступ ко всем портам 22 через брандмауэры, то у вас будет трудное время.
Добавляя к предыдущему ответу, вы, безусловно, можете заблокировать эти порты (либо на машине, либо на брандмауэре на выходе) ... но что, если попытка подключения выполняется через нестандартный порт?
Если вы хотите быть по-настоящему параноиком, вы можете пойти путем блокировки всего исходящего трафика, а затем выбрать трудоемкий путь добавления правил явно для тех портов / служб, которые вы хотите разрешить. Подобно настройке входящего брандмауэра, который вы полностью заблокируете, это может занять некоторое время, но предоставит вам точные знания / контроль над трафиком, исходящим из вашей системы.
Используя iptables
iptables -A OUTPUT -p 21 -j REJECT # FTP
iptables -A OUTPUT -p 22 -j REJECT # SFTP et.al.
Знайте, что sftp
использует порт 22, который также используется ssh
.
Если вы хотите, чтобы процесс был неизвестен, измените REJECT
на DROP
.
Очевидно, что вышеприведенное правило действует на машине, которую вы хотите заблокировать. Если вы настраиваете правила на маршрутизаторе или другом устройстве брандмауэра, то вам нужно более точно определить интерфейс и, возможно, IP-адрес, чтобы не блокировать этот трафик глобально.