TGViewer
NetworkAdmin.ru NetworkAdmin.ru @networkadminru · 4.7K subscribers
Post #961 1K
💚 Как один неверный chmod -R ломает прод сильнее, чем падение сервиса

Падение сервиса обычно видно сразу. Мониторинг красный, пользователи жалуются, в логах ошибка. Перезапустили, откатили, восстановили. А вот один неверный chmod -R может сломать прод намного тише и неприятнее. Классический сценарий:


chmod -R 777 /var/www


или еще хуже:


chmod -R 755 /


Хотели быстро пофиксить права, а получили хаос.

▪️ Почему это опасно?

Права в linux - это не просто можно читать или нельзя.
От них зависит работа сервисов, безопасность, SSH, sudo, systemd, базы данных, веб-приложения и приватные ключи.

▪️ Что может сломаться:

• SSH перестанет принимать ключи, потому что ~/.ssh и authorized_keys стали слишком открытыми
• приватные ключи начнут считаться небезопасными
• nginx/apache потеряют доступ к нужным файлам или, наоборот, получат лишний доступ
• база данных откажется стартовать из-за неправильных прав на data directory
• sudo может начать ругаться на права конфигов
• приложения начнут писать туда, куда не должны
• исполняемые файлы потеряют нужные биты


▪️ Особенно опасны рекурсивные команды с переменными:


chmod -R 755 "$DIR"


Если $DIR пустой, неправильный или подставился не тот путь - последствия могут быть очень неприятными.

Перед такими командами лучше явно проверять переменные:


: "${DIR:?DIR is empty}"


И сначала смотреть, куда команда попадет:


find "$DIR" -maxdepth 2 -print


Для файлов и директорий права часто должны отличаться.

🤩 Плохо:


chmod -R 755 /var/www/app


🤩 Лучше:


find /var/www/app -type d -exec chmod 755 {} +
find /var/www/app -type f -exec chmod 644 {} +


Так директории остаются проходимыми, а обычные файлы не становятся исполняемыми без необходимости.

▪️ Если нужно дать права конкретному пользователю, часто правильнее менять владельца:


chown -R www-data:www-data /var/www/app/storage


А не открывать все через 777.
777 - это почти всегда сигнал, что проблему не поняли, а просто выключили защиту.

Для диагностики полезно смотреть текущие права:


ls -la
namei -l /var/www/app/storage/file.log
stat /var/www/app/storage


namei -l особенно удобен: он показывает права на каждом уровне пути.
Иногда файл доступен, но один из родительских каталогов не дает пройти дальше.

#linux #chmod

🧑‍💻 NetworkAdmin
  • 👍 7
  • ❤ 4
More from @networkadminru
  1. Sep 28, 2026🔎 TCP keepalive: как находить мертвые соединения до того, как они создадут проблему Иногд…
  2. Sep 25, 2026🤩 Как расшифровать код ошибки Windows через certutil При установке обновлений Windows ран…
  3. Sep 23, 2026💻 Как жестко перезагрузить linux, когда обычный reboot уже не помогает Иногда сервер зави…
  4. Sep 22, 2026🌚 watch: простая динамическая диагностика в терминале Иногда не нужен отдельный мониторин…
  5. Sep 21, 2026👌 Firewall default deny: как внедрять без внезапного отрезания доступа Идея простая: разр…
  6. Sep 18, 2026🖥 Windows зависла на "Подготовке Windows": как проверить состояние удаленно Типичная ситу…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →