Добавлять суффикс ко всем файлам с определенным расширением

Если на вашем компьютере установлены какие-либо брандмауэры, вам необходимо добавить правила портов для этих брандмауэров. Примеры межсетевого экрана :iptables,ufw

В большинстве случаев разработчики настраивали почтовые серверы типа dovecot и postfix, но забывали добавить правила для таких портов, как 25, 143, 587, 993.

Для включения портов на UFW:

ufw status // this will list all current rules
ufw allow [port] //For example: ufw allow 25

Для добавления правил в iptables:

//SMTP
sudo iptables -A INPUT -p tcp --dport 25 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 25 -m conntrack --ctstate ESTABLISHED -j ACCEPT

//IMAP
sudo iptables -A INPUT -p tcp --dport 143 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 143 -m conntrack --ctstate ESTABLISHED -j ACCEPT

//IMAPS
sudo iptables -A INPUT -p tcp --dport 993 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 993 -m conntrack --ctstate ESTABLISHED -j ACCEPT

//POP3
sudo iptables -A INPUT -p tcp --dport 110 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 110 -m conntrack --ctstate ESTABLISHED -j ACCEPT

//POP3S
sudo iptables -A INPUT -p tcp --dport 995 -m conntrack --ctstate NEW,ESTABLISHED -j ACCEPT
sudo iptables -A OUTPUT -p tcp --sport 995 -m conntrack --ctstate ESTABLISHED -j ACCEPT
-2
13.11.2020, 14:46
1 ответ

Решение на основе оболочки -также может работать, так как задача здесь достаточно проста (простое добавление фрагмента строки к имени файла)

for file in *.py; do newname="$file.backup"; mv "$file" "$newname"; done

Если возможно, что такого файла не существует, вам нужно явно отловить этот случай. Предполагая bash, вы можете использовать опцию nullglob:

shopt -s nullglob; for file in *.py; do newname="$file.backup"; mv "$file" "$newname"; done

или явно проверьте, существует ли файл:

for file in *.py; do newname="$file.backup"; [ -f "$file" ] && mv "$file" "$newname"; done

Если рассматриваемые файлы также могут находиться в подкаталогах -, все становится сложнее. Начиная с версии bashv4, вы можете использовать опцию globstar:

.
shopt -s globstar; for file in **/*.py; do newname="$file.backup"; mv "$file" "$newname"; done

Опять же, вам, возможно, придется объединиться с shopt -s nullglob, чтобы учесть случай, когда такого файла не существует.

1
18.03.2021, 22:49

Теги

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