[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"question-linux-kak-rabotaet-sudo-chto-takoe-etc-sudoers-i-visudo":3},{"id":4,"slug":5,"topicId":6,"topicSlug":7,"topicName":8,"topicEmoji":9,"question":10,"answer":11,"codeLang":12,"codeSrc":12,"important":12,"commonMistakes":12,"modernUsage":12,"difficulty":13,"tags":14,"related":15,"progress":16,"seo":17},733,"kak-rabotaet-sudo-chto-takoe-etc-sudoers-i-visudo",18,"linux","Linux","🐧","Как работает sudo? Что такое \u002Fetc\u002Fsudoers и visudo?","`sudo` (Substitute User and DO) — утилита, позволяющая выполнять команды от имени другого пользователя (по умолчанию — root) без необходимости знать пароль root.\n\n### Принцип работы\n\n1. Пользователь вводит `sudo команда`\n2. Система проверяет право на выполнение в файле `\u002Fetc\u002Fsudoers`\n3. Запрашивается пароль самого пользователя (не root)\n4. После успешной аутентификации команда выполняется с повышенными привилегиями\n5. Пароль кешируется на 15 минут (по умолчанию)\n\n### Файл \u002Fetc\u002Fsudoers\n\nОсновной конфигурационный файл sudo. Определяет, какие пользователи и группы могут выполнять какие команды.\n\n```bash\n# Формат: КТО  ОТКУДА=(ОТ_ЧЬЕГО_ИМЕНИ)  ЧТО\nroot    ALL=(ALL:ALL) ALL\n\n# Все члены группы sudo могут выполнять любые команды\n%sudo   ALL=(ALL:ALL) ALL\n\n# Пользователь deployer может перезапускать nginx без пароля\ndeployer ALL=(ALL) NOPASSWD: \u002Fbin\u002Fsystemctl restart nginx\n\n# Пользователь developer может выполнять любые команды без пароля\ndeveloper ALL=(ALL) NOPASSWD: ALL\n```\n\n### visudo\n\nСпециальный редактор для `\u002Fetc\u002Fsudoers`:\n\n```bash\nsudo visudo\n```\n\n- Проверяет синтаксис перед сохранением — защищает от ошибок, которые могут заблокировать доступ к sudo\n- Блокирует файл для предотвращения одновременного редактирования\n- Никогда не редактируйте `\u002Fetc\u002Fsudoers` обычным текстовым редактором\n\n### Дополнительные файлы\n\nВместо редактирования основного файла рекомендуется добавлять файлы в каталог `\u002Fetc\u002Fsudoers.d\u002F`:\n\n```bash\necho \"developer ALL=(ALL) NOPASSWD: ALL\" | sudo tee \u002Fetc\u002Fsudoers.d\u002Fdeveloper\nsudo chmod 440 \u002Fetc\u002Fsudoers.d\u002Fdeveloper\n```\n\n### Полезные команды\n\n```bash\nsudo apt update              # Выполнить команду от root\nsudo -i                      # Переключиться на root-сессию (login shell)\nsudo -u postgres psql        # Выполнить от имени другого пользователя\nsudo -l                      # Проверить доступные команды через sudo\n```\n\nВ Ubuntu 24.04 пользователь, созданный при установке, автоматически добавляется в группу `sudo`.\n\n> **На собеседовании:** важно знать, зачем нужен `visudo` (проверка синтаксиса) и что `NOPASSWD` используется для автоматизации (CI\u002FCD, скрипты деплоя). Частая ошибка — редактировать `\u002Fetc\u002Fsudoers` напрямую через `nano`\u002F`vim`, рискуя заблокировать систему при синтаксической ошибке.","","junior",[7],[],null,{"title":18,"description":19,"ogTitle":18,"ogDescription":20,"keywords":21,"schemaAnswer":22,"featuredSnippetReady":23},"Как работает sudo? Что такое \u002Fetc\u002Fsudoers и visudo? — Gymterview","`sudo` (Substitute User and DO) — утилита, позволяющая выполнять команды от имени другого пользователя (по умолчанию — root) без необходимости знать пароль root","`sudo` (Substitute User and DO) — утилита, позволяющая выполнять команды от имени другого пользователя (по умолчанию — r",[7,13],"`sudo` (Substitute User and DO) — утилита, позволяющая выполнять команды от имени другого пользователя (по умолчанию — root) без необходимости знать пароль root.",true]