выполнение
iptables -F
очень опасно, если ваша политика по умолчанию для одной или всех цепочек - DROP
. Я хотел бы использовать псевдоним в bashrc
как
alias iptables -F="echo \
'WARNING: due to the DROP default rule, flushing all rules would lock you out'"
, но это не работает.
Это не должно работать из-за пробела в вашем псевдониме. .
Вместо этого вы можете вызвать пользовательскую функцию в .bash_aliases
:
#!/bin/bash
function myiptables {
if [ $@ == "-F" ]
then
echo "WARNING: due to the DROP default rule, flushing all rules would lock you out"
else
command iptables "$@"
fi
}
alias iptables='myiptables'
Будет выведено предупреждающее сообщение, если аргумент iptables
равен -F
.
В противном случае он выполнит обычную команду iptables
, включая все параметры, которые вы могли ей передать (скрытые), запустит настоящую команду iptables
, не допуская обратного вызова вашей собственной функции. :
# help command
...
Runs COMMAND with ARGS suppressing shell function lookup, or display
information about the specified COMMANDs. Can be used to invoke commands
on disk when a function with the same name exists.
...