Первая команда, которую ты набираешь в Linux, когда что-то не работает?
Ну, конечно же:
sudo apt install что_угодно
И дальше — магия. Оно вдруг работает. Появляется доступ. Установка проходит. Ошибка исчезает. И ты такой: ну, спасибо, sudo, спас как всегда.
А потом — затягивает. Уже ставишь sudo даже перед ls, «на всякий случай». Даже если не нужно. Просто потому что оно даёт ощущение власти. Как будто ты не просто пользователь, а уже почти root.
А это, поверь, ощущается.
Короче, если коротко — sudo это такая вещь, которую ты сначала боишься, потом уважаешь, потом обожаешь, а потом — начинаешь использовать правильно.
Я расскажу, как у меня было. Потому что без sudo Linux — это как комп с родительским контролем: вроде работает, но не живёшь, а выживаешь.
✉️ Пишу каждый день про команды, фишки и автоматизацию без боли. Забирай первым — в Telegram
Было плохо: ничего не ставится, прав нет, всё запрещено
Я помню момент: поставил себе ubuntu, впервые. Пытался установить VLC. Ввожу:
apt install vlc
И мне в ответ: «Permission denied». Окей. Пробую снова. То же самое.
Психанул, пошёл гуглить. Везде пишут: добавь sudo. Добавил:
sudo apt install vlc
Запрос пароля. Ввожу.
Установка пошла. Успешно. Никаких ошибок. VLC запустился.
У меня в голове только одна мысль:
Что это было? Почему без sudo не работает, а с ним — всё плывёт?
И вот с этого момента я начал копать.
Что такое sudo вообще?
Формально — это superuser do. То есть «выполни от имени суперпользователя».
В Linux (и вообще Unix-системах) у каждого действия есть уровень доступа. Удалить файл в своей папке — пожалуйста. Удалить системный файл — извините, вам сюда нельзя.
Так вот sudo — это ключ от всех дверей. Временный. На 5 минут. Только для конкретной команды.
И это, честно, очень крутая идея. Потому что в Windows ты либо админ всегда, либо неадмин никогда. А тут — ты обычный юзер, но если надо — говоришь:
«Я точно знаю, что делаю. Пожалуйста, откройте дверь. Только на секунду.»
Почему это реально важно
Потому что без sudo ты не можешь:
- Установить пакеты (apt, dnf, pacman, что угодно)
- Править системные файлы (в /etc, /usr и прочих местах)
- Перезапускать службы (systemctl restart и компания)
- Обновлять ядро, драйвера, ядреные штуки
А теперь прикинь — ты сидишь на Linux, но ничего этого не можешь.
Это как жить в квартире, где ты не можешь поменять лампочку без разрешения от ЖЭКа.
Кстати
Если ты просто введёшь:
sudo
То он скажет: «а чё выполнять-то?» 😄
Потому что sudo — это не команда. Это обёртка. Он запускает команду с правами суперпользователя.
Мой путь: от «добавлю везде» до «нужно — добавлю»
Сначала я, как и все, начал ставить sudo перед каждой командой. Даже перед ls, cd, echo.
Типа:
sudo ls
sudo cd /etc
sudo echo "Hello"
И оно работало. Или — делало вид, что работает. Но в какой-то момент начались проблемы:
- создавались файлы, которые потом нельзя было удалить без sudo
- папки стали «принадлежать root’у», а не мне
- npm install начал всё ставить в /usr/lib, и всё ломалось
И вот тут я понял: если ты используешь sudo не туда — ты себе сам роешь яму. Не сразу. Но глубоко.
🧠 Это часть рубрики про команды, которые кажутся простыми, а потом спасают тебе выходной. Следующая — будет жаркой. Подпишись на телегу, чтобы не проспать.
Где sudo реально нужен
Вот мой список:
- sudo apt update && sudo apt upgrade — классика
- sudo systemctl restart nginx — если ковыряешь сервер
- sudo nano /etc/hosts — хочешь подменить IP
- sudo mount /dev/sdb1 /mnt/usb — флешки, диски, всё подключаемое
- sudo reboot — да, даже на перезагрузку нужны права
Где НЕ надо
Вот тут чаще всего косячат новички:
- sudo cd /home — cd вообще не сработает через sudo, ты просто останешься там, где был
- sudo ls — бессмысленно, если у тебя и так есть доступ
- sudo echo "что-то" > /etc/файл — не сработает! echo исполняется как обычный юзер, а > — тоже. Чтобы сработало, нужно писать через tee:
echo "что-то" | sudo tee /etc/файл
🤯 Вот тут я реально офигел, когда впервые это увидел.
sudo ≠ root (но почти)
Некоторые думают, что sudo делает тебя root-ом. Это не совсем так.
Он просто временно исполняет команду от имени root, но сам пользователь root — остаётся на месте.
Хочешь стать root-ом насовсем? Пиши:
sudo -i
И всё, ты теперь root до конца сессии. Но это опасно. Лучше — выполнять только конкретные команды.
Маленький баг, который чуть не убил систему
Однажды я запустил скрипт от root, который делал chown -R на директорию с проектом. Всё было норм. А потом пошёл обедать. Оставил терминал открытым.
Через час возвращаюсь — проект работает через пень-колоду. Оказалось, все файлы, созданные в процессе, теперь принадлежат root.
И мне пришлось:
sudo chown -R $USER:$USER ./папка
Чтобы вернуть себе право править свои же файлы.
Так что теперь я думаю трижды, прежде чем дать скрипту sudo.
Вопрос: почему просто не войти как root?
Если простыми словами, то любой косяк — будет фатальным.
Случайно нажал Enter на rm -rf / — и привет.
(да, там есть защита, но root может её обойти)
sudo — это как страховка: «ты всё ещё обычный пользователь, но если очень надо — вот тебе пропуск на одну дверь». Закончишь — вернёшься обратно.
Прямо сейчас можешь попробовать
Если ты на Linux:
- Попробуй ls /root — скажет, доступа нет
- Теперь sudo ls /root — откроется
- Не забудь: cd /root через sudo не сработает (см. выше)
- Попробуй создать файл с sudo и без — и посмотри на права (ls -l)
Удивишься, как много sudo решает. И как много можно накосячить 😅
Короче
sudo — это не просто команда. Это переход между мирами. Из обычного пользователя — в администратора. Властелина. В бога своего терминала. 🧙♂️
Но и ответственность тоже растёт. Потому что один лишний sudo — и потом чистишь хвосты полдня.
Я теперь использую sudo осознанно. Как вино. Чуть-чуть — хорошо. Много — вредно.
🔧 В Telegram почти каждый день — такие же штуки: команды, трюки, фишки. Без воды. Присоединяйся.
Если тоже прожил путь "ставлю sudo везде" — напиши. Обнимемся.
Если только начинаешь — ничего страшного. Ошибки — часть пути.