Утилита sudo - позволяет выполнять команды с правами суперпользователя обычному пользователю. Для защиты программа каждый раз спрашивает пароль. Это вполне оправданно, так как с помощью пароля система может проверить, что это действительно пользователь, а не программа, которая просто хочет что-то нашкодить в системе, а также убедится что это именно тот пользователь за которого он себя выдает.
Но пароль можно отключить. Я не рекомендую этого делать, но способ есть и в этой статье мы рассмотрим как пользоваться sudo без пароля в Ubuntu.
Команда sudo без пароля в Linux
Чтобы отключить пароль sudo, надо добавить к строчке настройки пользователя или группы директиву NOPASSWD. Синтаксис такой:
имя_пользователя ALL=(ALL) NOPASSWD: ALL
Для того чтобы отключить пароль sudo для определенного пользователя нужно открыть файл конфигурации sudo и отключить запрос пароля следующей строчкой, например для пользователя losst:
sudo visudo
Сохраните изменения и закройте файл, на всякий случай напомню что в vi для перехода в режим вставки используется клавиша i, для сохранения команда :w и команда :q для выхода. Теперь sudo не будет запрашивать пароль у выбранного пользователя при выполнении любых команд.
Для того чтобы разрешить пользователю выполнять только некоторые команды без пароля (например apt и reboot) добавьте следующую строчку:
Чтобы отключить пароль для группы пользователей используйте следующий код:
Теперь у пользователей группы имя_группы утилита sudo не будет спрашивать пароль, а у всех остальных будет. Чтобы более детально ознакомится с возможностями sudo смотрите статью про настройку sudo в Linux.
Добрый день, Сергей !
Прошу подсказать, как ускорить загрузку Ubuntu 16.04...
После установки вместо 14.04 при включении пишет слева /dev/sda1: clean , ...../..... files, ....../....... blocks
Провёл по Вашей методике =Очистка ... , но результат тот же !?
А какая скорость загрузки? Почему не показали вывод команды?
ubuntu 16.04 64bit
Добавил в /etc/sudoers вместо user ввел своего пользователя:
user ALL=(ALL) NOPASSWD: /bin/apt-get, /sbin/reboot
После перезагрузки sudo ругнулась на ошибку, даже рутом логиниться перестала система.
Пришлось с livecd восстанавливать sudoers.
Что-то неправильно в вашей инструкции.
Нашел ошибку, после строки надо вставить перенос строки.
Заработало.
Всеравно при вводе sudo su запрашивает пароль.
у меня не спрашивает
Нужно либо просто su чтобы зайти под рутом, либо sudo -i эффект такой же как от su только вместо пароля рута надо вводить свой пароль. Себе поставил
alias root='sudo -i'
всё заработало, спасибо. пароли не спрашивает
$ sudo visudo - файл открывается, но не правится
и поэтому я не могу ввести: begemot ALL=(ALL) NOPASSWD: ALL
$ ls -al /usr/sbin/visudo
-rwxr-xr-x 1 root root 213816 янв 31 20:18 /usr/sbin/visudo
Как оказалось, я не имел прав на запись файла.
У кого аналогичная проблема см.: https://losst.pro/prava-dostupa-k-fajlam-v-linux
Если так или любым способом отменить ввод пароля для sudo, то все программы смогут без разрешения владельца делать любые действия с системой и файлами. Получается что этот способ из разряда: если мало проблем, надо их создать.
после того как я вставил user ALL=(ALL) NOPASSWD: ALL у меня теперь вообще sudo не работает , даже sudo visudo не запускается , вот ошибка "Пользователю nikolai-bombom запрещено выполнять '/usr/sbin/visudo' с правами root на nikolai-bombom" . ХЕЛП ПЛИЗ
https://onformix.blogspot.com/2018/04/sudoers-error.html
вот тут ответ нашел
спасибо супер узер... но это ты зря .."что это действительно пользователь, а не программа, которая просто хочет что-то нашкодить в системе, а также убедится что это именно тот пользователь за которого он себя выдает." полно можно демонов написать
Вот аватарка однозначно характеризует умственные способности носителя.
Нефига не работает. Точней, в терминале да, работает. Но в менеджере прог при установке или удалении программ, все равно запрашивает пароль.
Как сделать вообще без пароля?
Не сработает как описано в статье, прописывать после root или где то там сверху. Нужно прописывать после правил для группы sudo. Потому что man sudoers говорит, что если несколько записей будут касаться пользователя, будет использоваться последняя. А по описанному примеру тогда, будет срабатывать для группы sudo нижний вариант, и так как пользователь в эту группу входит, и пароль будет запрашиваться.
Или еще проще использовать папку /etc/sudoers.d/, туда можно просто положить любой файл с "имя_пользователя ALL=(ALL) NOPASSWD: ALL" внутри. Так как в visudo есть строчка "includedir /etc/sudoers.d"
Важный момент:
Если пользователь состоит в группе sudo или admin, то скорее всего работать ничего не будет. Пользователь должен быть прописан в /etc/sudoers и нигде более (касаемо sudo естественно).
у меня не отключалось запрашивание пароля из-за того что я добавил табуляцию между именем пользвателя и параметрами. Т.е. было my_user ALL=(ALL) NOPASSWD: ALL .
- это ASCII символ длинного пробела (добавил пробелы возле кавычек, чтобы этот код ASCII не отобразился как пустое пространство здесь) который, возможно, не коректно обрабатывается visudo. Обнаружил это скопировав строчку с параметрами из /etc/sudoers в sublime text. Теперь пароль не запрашивается
Ну вот, парсер комментариев отобразил вместо знакового кода ASCII пробел. Речь идет о коде "Открывающая угловая кавычка + 0 + х + а + 0 + закрывающая угловая кавычка". Объяснил как мог)
Я прописал данную строчку losst ALL=(ALL) NOPASSWD: ALL
При перезагрузке терминала всё равно спрашивает, но только первый раз, остальные разы без пароля.