Главная/Статьи/Поправьте права доступа, чтобы больше никогда не использовать NPM с командой sudo
DevOPS

Поправьте права доступа, чтобы больше никогда не использовать NPM с командой sudo

После установки Node.js с официального сайта многие сталкиваются с проблемой: при глобальной установке пакетов возникают ошибки прав доступа. Типичное решение — использование sudo, но это создаёт серьёзные угрозы безопасности.

«Если вы используете сервер с привилегиями root и его взломали через уязвимость вашего кода, злоумышленник будет иметь полный контроль над вашей машиной»

Правильное решение

Необходимо изменить владельца нескольких директорий. Введите в терминал следующие команды:

sudo chown -R $(whoami) /usr/local/lib/node_modules
sudo chown -R $(whoami) /usr/local/bin
sudo chown -R $(whoami) /usr/local/share

Объяснение команд

Эти команды меняют владельца указанных каталогов с root на текущего пользователя. Флаг -R обеспечивает рекурсивное применение — право собственности меняется для директории и всех содержащихся в ней файлов и подпапок.

После выполнения этих команд npm можно использовать без привилегий администратора. Глобальная установка пакетов теперь работает без sudo:

npm install -g some-package