Найти Π² Π”Π·Π΅Π½Π΅
Π£Ρ€ΠΎΠΊΠΈ Linux

πŸš€ ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ bash: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ слоТныС скрипты Π±Π΅Π· ошибок ΠΈ страха

πŸš€ ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ bash: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ слоТныС скрипты Π±Π΅Π· ошибок ΠΈ страха ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Linux Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ? БСгодня расскаТу ΠΎ тонкостях написания ΠΌΠΎΡ‰Π½Ρ‹Ρ…, бСзопасных ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… bash-скриптов. πŸ“ ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты? - ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹ - ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ - ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ошибок Π“ΠΎΡ‚ΠΎΠ²Ρ‹? Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ! - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ строгиС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…: if ! [ -z "$1" ]; then echo "ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚: $1" else echo "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚!" exit 1 fi - Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ β€” Ρ‚Π°ΠΊ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚Π΅ ошибок ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°Ρ…: mkdir -p "$directory" - ВсСгда Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ set -euo pipefail Π² Π½Π°Ρ‡Π°Π»Π΅ скрипта β€” это ваш Ρ‰ΠΈΡ‚ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Ρ… ошибок. set -euo pipefail - Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ дСйствий, Ρ‚Π°ΠΊ скрипт станСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ. - НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ β€” ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ. - Π•Ρ‰Π΅ Π²Π°ΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹

πŸš€ ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Ρ‹ΠΉ bash: ΠΊΠ°ΠΊ ΠΏΠΈΡΠ°Ρ‚ΡŒ слоТныС скрипты Π±Π΅Π· ошибок ΠΈ страха

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, Π΄Ρ€ΡƒΠ·ΡŒΡ! Π₯ΠΎΡ‚ΠΈΡ‚Π΅ ΠΏΠΎΠ΄Π½ΡΡ‚ΡŒ свои Π½Π°Π²Ρ‹ΠΊΠΈ Ρ€Π°Π±ΠΎΡ‚Ρ‹ с Linux Π½Π° Π½ΠΎΠ²Ρ‹ΠΉ ΡƒΡ€ΠΎΠ²Π΅Π½ΡŒ?

БСгодня расскаТу ΠΎ тонкостях написания ΠΌΠΎΡ‰Π½Ρ‹Ρ…, бСзопасных ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹Ρ… bash-скриптов.

πŸ“ ΠŸΠΎΡ‡Π΅ΠΌΡƒ Π²Π°ΠΆΠ½ΠΎ Π½Π΅ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ, Π° ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎ ΠΏΠΈΡΠ°Ρ‚ΡŒ скрипты?

- ΠΠ°Π΄Π΅ΠΆΠ½ΠΎΡΡ‚ΡŒ Ρ€Π°Π±ΠΎΡ‚Ρ‹

- ΠŸΡ€ΠΎΡΡ‚ΠΎΡ‚Π° ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΊΠΈ

- ΠœΠΈΠ½ΠΈΠΌΠΈΠ·Π°Ρ†ΠΈΡ ошибок

Π“ΠΎΡ‚ΠΎΠ²Ρ‹? Π’ΠΎΠ³Π΄Π° ΠΏΠΎΠ΅Ρ…Π°Π»ΠΈ!

- Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ строгиС ΠΏΡ€ΠΎΠ²Π΅Ρ€ΠΊΠΈ Π²Ρ…ΠΎΠ΄Π½Ρ‹Ρ… Π΄Π°Π½Π½Ρ‹Ρ…:

if ! [ -z "$1" ]; then

echo "ΠžΠ±Π½Π°Ρ€ΡƒΠΆΠ΅Π½ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚: $1"

else

echo "Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ ΠΏΠ΅Ρ€Π²Ρ‹ΠΉ Π°Ρ€Π³ΡƒΠΌΠ΅Π½Ρ‚!"

exit 1

fi

- Π’Π²ΠΎΠ΄ΠΈΡ‚Π΅ всС ΠΏΠ΅Ρ€Π΅ΠΌΠ΅Π½Π½Ρ‹Π΅ Ρ‡Π΅Ρ€Π΅Π· ΠΊΠ°Π²Ρ‹Ρ‡ΠΊΠΈ β€” Ρ‚Π°ΠΊ ΠΈΠ·Π±Π΅Π³Π°Π΅Ρ‚Π΅ ошибок ΠΏΡ€ΠΈ ΠΏΡ€ΠΎΠ±Π΅Π»Π°Ρ…:

mkdir -p "$directory"

- ВсСгда Π·Π°Π΄Π°Π²Π°ΠΉΡ‚Π΅ set -euo pipefail Π² Π½Π°Ρ‡Π°Π»Π΅ скрипта β€” это ваш Ρ‰ΠΈΡ‚ ΠΎΡ‚ Π½Π΅ΠΏΡ€Π΅Π΄Π²ΠΈΠ΄Π΅Π½Π½Ρ‹Ρ… ошибок.

set -euo pipefail

- Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠΉΡ‚Π΅ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для ΠΏΠΎΠ²Ρ‚ΠΎΡ€ΡΡŽΡ‰ΠΈΡ…ΡΡ дСйствий, Ρ‚Π°ΠΊ скрипт станСт ΠΌΠΎΠ΄ΡƒΠ»ΡŒΠ½Ρ‹ΠΌ ΠΈ Ρ‡ΠΈΡ‚Π°Π΅ΠΌΡ‹ΠΌ.

- НС Π·Π°Π±ΡƒΠ΄ΡŒΡ‚Π΅ ΠΏΡ€ΠΎ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ β€” ΠΎΠ½ΠΈ ΠΏΠΎΠΌΠΎΠ³Π°ΡŽΡ‚ ΠΏΠΎΠ½ΡΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚Π΅ β€” ΠΊΠ°ΠΊ Π²Π½ΡƒΡ‚Ρ€ΠΈ ΠΊΠΎΠ΄Π°, Ρ‚Π°ΠΊ ΠΈ Π² Π±ΡƒΠ΄ΡƒΡ‰Π΅ΠΌ.

- Π•Ρ‰Π΅ Π²Π°ΠΆΠ½ΠΎ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΏΡ€Π°Π²Π°ΠΌΠΈ доступа ΠΊ Ρ„Π°ΠΉΠ»Π°ΠΌ, Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ Π±Ρ‹Π»ΠΎ Ρƒ Π·Π»ΠΎΡƒΠΌΡ‹ΡˆΠ»Π΅Π½Π½ΠΈΠΊΠΎΠ² Π»ΠΈΡˆΠ½ΠΈΡ… возмоТностСй.

Если ΡΠΎΠ±Π»ΡŽΠ΄Π°Ρ‚ΡŒ эти простыС ΠΏΡ€ΠΈΠ½Ρ†ΠΈΠΏΡ‹, ваши скрипты станут Π·Π²Π΅Π·Π΄ΠΎΠΉ Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΠ·Π°Ρ†ΠΈΠΈ!

А Π²Ρ‹ ΡƒΠΆΠ΅ ΠΏΡ€Π°ΠΊΡ‚ΠΈΠΊΡƒΠ΅Ρ‚Π΅ ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ написаниС bash? Или всё Π΅Ρ‰Π΅ ΠΏΡ€ΠΎΠ΄ΠΎΠ»ΠΆΠ°Π΅Ρ‚Π΅ Π΄Π΅Π»Π°Ρ‚ΡŒ всС Π² спСшкС ΠΈ хаосС?

πŸ“š ΠŸΡ€ΠΎΠΊΠ°Ρ‡Π°ΠΉ свои скилы Π² Ρ‚Π΅Π»Π΅Π³Ρ€Π°ΠΌ ΠΊΠ°Π½Π°Π»Π΅ https://t.me/LinuxSkill Π° ΠΏΡ€ΠΎΠΉΡ‚ΠΈ тСсты Π½Π° Π·Π½Π°Π½ΠΈΠ΅ linux Π² Π±ΠΎΡ‚Π΅ https://t.me/gradeliftbot

πŸ“© Π—Π°Π²Ρ‚Ρ€Π°: Как Π½Π°ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Fail2Ban Π·Π° 5 ΠΌΠΈΠ½ΡƒΡ‚! Π’ΠΊΠ»ΡŽΡ‡ΠΈ πŸ”” Ρ‡Ρ‚ΠΎΠ±Ρ‹ Π½Π΅ ΠΏΡ€ΠΎΠΏΡƒΡΡ‚ΠΈΡ‚ΡŒ!