Увидал сегодня у коллеги такое:
- name: Установка глобального PATH для Linux
hosts: all
become: true
tasks:
- name: Создать скрипт для глобального PATH
copy:
dest: /etc/profile.d/custom_path.sh
content: |
export PATH="/usr/bin:/bin"
mode: '0644'
notify: Reload profile
handlers:
- name: Reload profile
command: source /etc/profile
это кусок ансибла если чо
Что это за ебать костыль и нахуя?
А это оказывается регламент такой внутренний, какие-то требования, которые должны быть применены при настройке новых серверов. И это только 1% из этого плейбука, показать весь по объективным причинам не могу.
Короче суть — создается чистая переменная PATH, на глобальном уровне.
Обычно это делается для повышения безопасности или для обеспечения предсказуемого поведения скриптов.
Определяются только базовые пути.
Безопасность:
- Уменьшается риск выполнения вредоносного кода из непредсказуемых каталогов.
- Снижается вероятность атаки типа Path Hijacking, когда злоумышленник подсовывает вредоносные программы в каталоги, находящиеся в начале
PATH.
Предсказуемость:
- Скрипты и процессы используют конкретные версии утилит, а не случайные исполняемые файлы из пользовательских каталогов.
Чистая среда для скриптов:
- В автоматизированных сценариях, например, в CI/CD, чистая
PATHпомогает избежать конфликтов из-за пользовательских переменных окружения.
Системное администрирование:
- При диагностике или отладке минимальный
PATHпозволяет исключить влияние пользовательских и нестандартных путей.
Например:
#!/bin/bash
export PATH=/usr/bin:/bin
if ! command -v curl &> /dev/null; then
echo "curl не установлен или недоступен в чистом PATH"
exit 1
fi
echo "curl доступен, продолжаем..."
Тема конечно больше про безопасность и в обычной жизни встречается крайне редко, всем насрать на Path Hijacking.
Пусть за это специально обученные люди отвечают. У нас лапки.








Комментарии