Да.
Переменная не будет доступна в блоке BEGIN
, поскольку присваивание происходит «в то время, когда этот аргумент будет доступен как файл», но это то же самое, что и для всех других реализаций awk
.
$ echo 'input data' | gawk -vvar1="hello" 'BEGIN { print var1, var2 } { print $0, var1, var2 }' var2='world!'
hello
input data hello world!
Если выполнить ufw enable
, systemctl disable ufw
, а затем перезагрузить систему, какой результат ufw status verbose
появится после перезагрузки?
Я предполагаю, что это будет inactive
.
Если это так, то объяснение следующее:
ufw enable
= включить правила брандмауэра прямо сейчас и сделать запись о том, что желаемое состояние — включение брандмауэра с этого момента. (Если требуется демон управления брандмауэром, он также запустится автоматически.)
ufw disable
= отключить правила брандмауэра прямо сейчас и сделать запись о том, что желаемое состояние — отключить брандмауэр, пока не будет дана другая команда.
systemctl start ufw
= восстановить ранее -записанное желаемое состояние брандмауэра (, если желаемое состояние — отключить брандмауэр, делать нечего ). Кроме того, при необходимости запустите любой демон управления брандмауэром таким образом, чтобы процесс управления распознавался systemd
как фоновый процесс, не принадлежащий ни к одному пользовательскому сеансу. Если вы хотите, чтобы брандмауэр был включен постоянно, вам нужно, чтобы это происходило автоматически во время загрузки, а также установили ufw enable
.
systemctl stop ufw
= остановить демон управления брандмауэром; может также отключать или не отключать любые существующие правила брандмауэра (использовать iptables -vnL
или nft list tables
для проверки фактических правил, действующих в ядре, независимо отufw
).
systemctl enable ufw
= при любых последующих перезагрузках автоматически запускать systemctl start ufw
как часть процесса загрузки.
systemctl disable ufw
= при любых последующих перезагрузках ничего не делайте для восстановления состояния брандмауэра и не запускайте автоматически демон управления брандмауэром :с настройками ядра по умолчанию вообще без правил брандмауэра.
Например, если вам нужно настроить новые правила брандмауэра удаленно и вы должны убедиться, что не заблокируете себя, вы можете установить systemctl disable ufw
, настроить автоматическую перезагрузку примерно через 15 минут, затем добавить свои правила и используйте ufw enable
. Если вы все еще можете подключиться к системе,правила правильны в отношении удаленного доступа; вы можете установить systemctl enable ufw
(, чтобы правила действовали также после перезагрузки ), и удалить задание перезагрузки по времени.
Но если вы допустили ошибку, отключившую ваш доступ, просто подождите, пока запустится задание перезагрузки, и система не предложит никаких правил брандмауэра (из-за systemctl disable ufw
), и вы сможете снова войти в систему. чтобы исправить конфигурацию правила.