Введение
Создание пользовательской оболочки сценария для chmod может помочь вам управлять и ограничивать использование определенных команд chmod, например, предотвращая установку разрешений 777. Ниже приведен базовый пример того, как создать такой сценарий в Ubuntu или любой другой системе на базе Linux..
- Создайте сценарий: вы создадите сценарий с именем
safe_chmod
и поместите его в каталог типа/usr/local/bin
, который обычно находится в $PATH пользователя. - Содержание скрипта:
- Скрипт проверит конкретный шаблон разрешений (например, 777) и отобразит предупреждающее сообщение, если этот шаблон используется.
- Во всех остальных случаях будет запущена обычная команда
chmod
.
- Сделайте скрипт исполняемым. После создания скрипта вам нужно будет сделать его исполняемым.
- Создать псевдоним. Создайте псевдоним 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, если псевдоним не активен.
Следовательно, эта стратегия должна быть частью более широкого подхода к безопасности, который включает обучение пользователей, соответствующие методы системного администрирования и регулярные проверки. Помните, что лучшие методы обеспечения безопасности включают несколько уровней защиты для эффективной защиты вашей системы.