Как запретить пользователям запускать chmod 777

1 feb 2024 2 min di lettura
Как запретить пользователям запускать chmod 777
Indice dei contenuti

Введение

Создание пользовательской оболочки сценария для chmod может помочь вам управлять и ограничивать использование определенных команд chmod, например, предотвращая установку разрешений 777. Ниже приведен базовый пример того, как создать такой сценарий в Ubuntu или любой другой системе на базе Linux..

  1. Создайте сценарий: вы создадите сценарий с именем safe_chmod и поместите его в каталог типа /usr/local/bin, который обычно находится в $PATH пользователя.
  2. Содержание скрипта:
    • Скрипт проверит конкретный шаблон разрешений (например, 777) и отобразит предупреждающее сообщение, если этот шаблон используется.
    • Во всех остальных случаях будет запущена обычная команда chmod.
  3. Сделайте скрипт исполняемым. После создания скрипта вам нужно будет сделать его исполняемым.
  4. Создать псевдоним. Создайте псевдоним Safe_chmod для chmod в сценариях входа и отсутствия входа в систему.

Вот пошаговое руководство:

Шаг 1. Создайте сценарий.

Откройте терминал и используйте текстовый редактор для создания сценария. Например, используя нано:

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 "$@"

Шаг 2. Сделайте скрипт исполняемым.

Сохраните и закройте файл. Затем сделайте скрипт исполняемым:

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

Шаг 3: Используйте псевдоним команды 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, если псевдоним не активен.

Следовательно, эта стратегия должна быть частью более широкого подхода к безопасности, который включает обучение пользователей, соответствующие методы системного администрирования и регулярные проверки. Помните, что лучшие методы обеспечения безопасности включают несколько уровней защиты для эффективной защиты вашей системы.

Buy me a coffeeBuy me a coffee

Supportaci se ti piacciono i nostri contenuti. Grazie.

Successivamente, completa il checkout per l'accesso completo a Noviello.it.
Bentornato! Accesso eseguito correttamente.
Ti sei abbonato con successo a Noviello.it.
Successo! Il tuo account è completamente attivato, ora hai accesso a tutti i contenuti.
Operazione riuscita. Le tue informazioni di fatturazione sono state aggiornate.
La tua fatturazione non è stata aggiornata.