На моей справочной странице iptables-extensions
не упоминается, что здесь разрешены регулярные выражения, поэтому я думаю, что это не так. Вам придется создать отдельные правила для вашего выбора. (И в качестве примечания: вам не нужно повторять часть -p tcp --dport 80
в вашей цепочке RATELIMITING
:, которая всегда верна в вашей установке.)
В то время как команда sudo в вашем первом псевдониме предоставляет привилегии root для cat /tmp/hosts
, перенаправление >> /etc/hosts
будет опробовано с вашими привилегиями пользователя.
Поскольку они обычно недостаточно высоки, вы получаете ошибку «Отказано в доступе».
Чтобы это сработало,вы можете запустить команду в такой подоболочке:
alias hosts-get="scp user@host.com:/etc/hosts /tmp/ && sudo sh -c \"cat /tmp/hosts >> /etc/hosts\""
или просто сделайте это так же, как во втором подходе.
Здесь вы перенаправляете вывод «непривилегированной» команды cat в привилегированную команду «tee», которая затем имеет право добавлять информацию в /etc/hosts.