🐧 Π—Π°ΠΏΡ€Π΅Ρ‚ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡΠΌ Π·Π°ΠΏΡƒΡΠΊΠ°Ρ‚ΡŒ `chmod 777`

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΡŒΡΠΊΠΎΠ³ΠΎ скрипта-ΠΎΠ±Π΅Ρ€Ρ‚ΠΊΠΈ для chmod ΠΌΠΎΠΆΠ΅Ρ‚ ΠΏΠΎΠΌΠΎΡ‡ΡŒ Π²Π°ΠΌ ΡƒΠΏΡ€Π°Π²Π»ΡΡ‚ΡŒ ΠΈ ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡ΠΈΠ²Π°Ρ‚ΡŒ использованиС ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½Ρ‹Ρ… ΠΊΠΎΠΌΠ°Π½Π΄ chmod, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Ρ‚ΡŒ установку Ρ€Π°Π·Ρ€Π΅ΡˆΠ΅Π½ΠΈΠΉ 777.

НиТС ΠΏΡ€ΠΈΠ²Π΅Π΄Π΅Π½ Π±Π°Π·ΠΎΠ²Ρ‹ΠΉ ΠΏΡ€ΠΈΠΌΠ΅Ρ€ Ρ‚ΠΎΠ³ΠΎ, ΠΊΠ°ΠΊ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°Ρ‚ΡŒ Ρ‚Π°ΠΊΠΎΠΉ скрипт Π² Ubuntu ΠΈΠ»ΠΈ любой Π΄Ρ€ΡƒΠ³ΠΎΠΉ систСмС Π½Π° Π±Π°Π·Π΅ Linux.

🐧 Как Π½Π°ΠΉΡ‚ΠΈ всС Ρ„Π°ΠΉΠ»Ρ‹ с ΠΏΡ€Π°Π²Π°ΠΌΠΈ 777 Π½Π° Linux

  1. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ скрипт: Π’Ρ‹ создадитС скрипт с ΠΈΠΌΠ΅Π½Π΅ΠΌ safe_chmod ΠΈ помСститС Π΅Π³ΠΎ Π² ΠΊΠ°Ρ‚Π°Π»ΠΎΠ³ /usr/local/bin, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ ΠΎΠ±Ρ‹Ρ‡Π½ΠΎ находится Π² $PATH ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ.
  2. Π‘ΠΎΠ΄Π΅Ρ€ΠΆΠ°Π½ΠΈΠ΅ скрипта:

    Π‘ΠΊΡ€ΠΈΠΏΡ‚ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΡ€ΠΎΠ²Π΅Ρ€ΡΡ‚ΡŒ Π½Π°Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΠΏΡ€Π΅Π΄Π΅Π»Π΅Π½Π½ΠΎΠ³ΠΎ шаблона ΠΏΡ€Π°Π² (Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, 777) ΠΈ Π²Ρ‹Π²ΠΎΠ΄ΠΈΡ‚ΡŒ ΠΏΡ€Π΅Π΄ΡƒΠΏΡ€Π΅ΠΆΠ΄Π΅Π½ΠΈΠ΅, Ссли Ρ‚Π°ΠΊΠΎΠΉ шаблон ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ.

    Π’ΠΎ всСх ΠΎΡΡ‚Π°Π»ΡŒΠ½Ρ‹Ρ… случаях ΠΎΠ½ Π²Ρ‹ΠΏΠΎΠ»Π½ΠΈΡ‚ ΠΎΠ±Ρ‹Ρ‡Π½ΡƒΡŽ ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ chmod.
  3. Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ сцСнарий исполняСмым: ПослС создания скрипта Π²Π°ΠΌ Π½ΡƒΠΆΠ½ΠΎ Π±ΡƒΠ΄Π΅Ρ‚ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΅Π³ΠΎ исполняСмым.
  4. Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ алиас: Π‘ΠΎΠ·Π΄Π°ΠΉΡ‚Π΅ алиас safe_chmod для chmod Π² скриптах Π²Ρ…ΠΎΠ΄Π°/Π½Π΅ Π²Ρ…ΠΎΠ΄Π° Π² систСму

πŸ§Β ΠžΠΏΠ°ΡΠ½Ρ‹Π΅ послСдствия ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chmod 777

Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ скрипта

ΠžΡ‚ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΠΈ с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ тСкстового Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΎΡ€Π° создайтС скрипт.

НапримСр, с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ nano:

sudoΒ nanoΒ /usr/local/bin/safe_chmod

Π”ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ Π² Ρ„Π°ΠΉΠ» ΡΠ»Π΅Π΄ΡƒΡŽΡ‰Π΅Π΅ содСрТимоС:

#!/bin/bash

# Custom script wrapper for chmod to prevent setting 777 permissions



# Check if any of the arguments is '777'

for arg in "$@"; do

    if [ "$arg" == "777" ]; then

        echo "Error: Setting 777 permissions is not allowed for security reasons."

        exit 1

    fi

done



# If 777 is not found, execute the original chmod command with all arguments

/bin/chmod "$@"

Π‘Π΄Π΅Π»Π°ΠΉΡ‚Π΅ скрипт исполняСмым

Π‘ΠΎΡ…Ρ€Π°Π½ΠΈΡ‚Π΅ ΠΈ Π·Π°ΠΊΡ€ΠΎΠΉΡ‚Π΅ Ρ„Π°ΠΉΠ».

Π—Π°Ρ‚Π΅ΠΌ сдСлайтС скрипт исполняСмым:

sudoΒ chmodΒ +xΒ /usr/local/bin/safe_chmod

Алиас ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ chmod

Π§Ρ‚ΠΎΠ±Ρ‹ скрипт эффСктивно Π·Π°ΠΌΠ΅Π½ΠΈΠ» ΠΊΠΎΠΌΠ°Π½Π΄Ρƒ chmod, Π²Ρ‹ ΠΌΠΎΠΆΠ΅Ρ‚Π΅ ΠΏΡ€ΠΈΡΠ²ΠΎΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠ°Π½Π΄Π΅ chmod Π·Π½Π°Ρ‡Π΅Π½ΠΈΠ΅ safe_chmod.

Π­Ρ‚ΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ, ΠΎΡ‚Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€ΠΎΠ²Π°Π² Ρ„Π°ΠΉΠ»Ρ‹ `.bashrc` ΠΈΠ»ΠΈ `.bash_profile` для ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Ρ ΠΈΠ»ΠΈ глобально Π² `/etc/bash.bashrc`:

echoΒ "aliasΒ chmod='/usr/local/bin/safe_chmod'"Β >>Β ~/.bashrcΒ Β $Β sourceΒ ~/.bashrc

Π—Π°ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΈ сообраТСния

Π­Ρ‚ΠΎΡ‚ ΠΌΠ΅Ρ‚ΠΎΠ΄ скрипта – простой ΠΈ эффСктивный способ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‚ΠΈΡ‚ΡŒ использованиС chmod 777, ΠΏΠΎΠ²Ρ‹ΡˆΠ°ΡŽΡ‰ΠΈΠΉ Π±Π΅Π·ΠΎΠΏΠ°ΡΠ½ΠΎΡΡ‚ΡŒ Π²Π°ΡˆΠΈΡ… Linux-систСм.

Однако Π²Π°ΠΆΠ½ΠΎ ΠΎΡ‚ΠΌΠ΅Ρ‚ΠΈΡ‚ΡŒ, Ρ‡Ρ‚ΠΎ этот ΠΌΠ΅Ρ‚ΠΎΠ΄ Π½Π΅ являСтся Π½Π°Π΄Π΅ΠΆΠ½Ρ‹ΠΌ.

ΠŸΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»ΠΈ с достаточными ΠΏΡ€Π°Π²Π°ΠΌΠΈ ΠΌΠΎΠ³ΡƒΡ‚ ΠΎΠ±ΠΎΠΉΡ‚ΠΈ это ΠΎΠ³Ρ€Π°Π½ΠΈΡ‡Π΅Π½ΠΈΠ΅, ΠΈ ΠΎΠ½ Π½Π΅ ΠΏΡ€Π΅Π΄ΠΎΡ‚Π²Ρ€Π°Ρ‰Π°Π΅Ρ‚ прямоС ΠΎΠ±Ρ€Π°Ρ‰Π΅Π½ΠΈΠ΅ ΠΊ /bin/chmod, Ссли Π½Π΅ ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΠ΅Ρ‚ΡΡ алиас..

ΠŸΠΎΡΡ‚ΠΎΠΌΡƒ данная стратСгия Π΄ΠΎΠ»ΠΆΠ½Π° Π±Ρ‹Ρ‚ΡŒ Ρ‡Π°ΡΡ‚ΡŒΡŽ Π±ΠΎΠ»Π΅Π΅ ΡˆΠΈΡ€ΠΎΠΊΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ…ΠΎΠ΄Π° ΠΊ бСзопасности, Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‰Π΅Π³ΠΎ ΠΎΠ±ΡƒΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠΎΠ»ΡŒΠ·ΠΎΠ²Π°Ρ‚Π΅Π»Π΅ΠΉ, ΠΏΡ€Π°Π²ΠΈΠ»ΡŒΠ½ΠΎΠ΅ систСмноС администрированиС ΠΈ рСгулярный Π°ΡƒΠ΄ΠΈΡ‚.

Π—Π°ΠΏΠΎΠΌΠ½ΠΈΡ‚Π΅, Ρ‡Ρ‚ΠΎ Π»ΡƒΡ‡ΡˆΠΈΠ΅ ΠΌΠ΅Ρ‚ΠΎΠ΄Ρ‹ обСспСчСния бСзопасности Π²ΠΊΠ»ΡŽΡ‡Π°ΡŽΡ‚ Π² сСбя нСсколько ΡƒΡ€ΠΎΠ²Π½Π΅ΠΉ Π·Π°Ρ‰ΠΈΡ‚Ρ‹, Ρ‡Ρ‚ΠΎΠ±Ρ‹ эффСктивно Π·Π°Ρ‰ΠΈΡ‚ΠΈΡ‚ΡŒ Π²Π°ΡˆΡƒ систСму.

см. Ρ‚Π°ΠΊΠΆΠ΅:



2024-01-23T10:08:30
Π‘ΠΊΡ€ΠΈΠΏΡ‚Ρ‹

Π”Ρ€ΡƒΠ·ΡŒΡ ΠΏΠΎΠΌΠΎΠ³ΠΈΡ‚Π΅ этому ΠΊΠΎΠ½Ρ‚Π΅Π½Ρ‚Ρƒ ΡΡ‚Π°Ρ‚ΡŒ доступнСС Π² ΡΠΎΡ†ΠΈΠ°Π»ΡŒΠ½Ρ‹Ρ… сСтях.

НС ΠΏΡ€ΠΎΡ…ΠΎΠ΄ΠΈ ΠΌΠΈΠΌΠΎ ΠΆΠΌΠ°ΠΊΠ½ΠΈ ΠΏΠΎ ΠΊΠ½ΠΎΠΏΠΊΠ΅ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΠΎ ΠΊΠΎΠΌΡƒ Ρ‚ΠΎ Π΅Ρ‰Π΅ ΠΎΠ½ Π±ΡƒΠ΄Π΅Ρ‚ ΠΏΠΎΠ»Π΅Π·Π΅Π½!