Linux disable sudo password

FAQ → sudo без пароля (Linux / Unix)

Если вы админ системы и вам регулярно приходится поднимать уровень привилегий в системе, то набирать пароль становится очень утомительно, для этого существует sudo nopasswd т.е. sudo без пароля, как это реализовать я и расскажу в этой маленькой заметке.

Существует 2 варианта реализации этой затеи — работающий и правильный, мы рассмотрим оба.
для примера буду использовать логин пользователя: user

Вариант номер раз — работающий

нам необходимо отредактировать файл

необходимо найти и добавить после записи:

После этого, можем заходить под пользователем user и набирать:

Система больше не будет спрашивать пароль

Вариант номер два — правильный

В принципе, все тоже самое, но нам необходимо создать файлик с содержимым

Также у этого файла должны быть определенные права доступа

После этого можем логиниться в систему под учетной записью user, набирать

система пароль спрашивать не будет
Именно этот вариант является более предпочтительным т.к. позволяет контролировать кому и какие права доступа установлены.

Таким образом можно выдавать права определенному пользователю на выполнение определенных действий, без предоставления административных прав на всю систему.
Например: Нам необходимо предоставить права доступа на перезапуск сервиса memcached пользователю vasia, но мы не ходим его делать админом всей системы, но для выполнения этой операции требуются административные привилегии, мы их можем выдать только на выполнение одной операции.
Создаем файл:

Теперь пользователь vasia имеет права sudo на перезапуск сервиса memchached, система не будет требовать от него пароль.

Пойдем еще дальше, а что если пользователю vasia необходимо предоставить права на несколько действий, без админсиких права на всю систему, например, нам необходимо разрешить перезапск определенного сервиса и обновление списка пакетов и установку обновлений системы, тогда файл с содержимым принимает вид:

да именно через запятую, все права доступа и задаются и дальше того что указано в этом файле система выйти не даст.
Вот именно по этой причине второй вариант более правильный, представьте что у вас в системе десятки пользователей, а если сотни, и вам придется просматривать весь конфиг sudoers, понятно что есть поиск, но а во втором варианте, вам достаточно открыть файл с именем пользователя и вы увидите какие права положены именно ему.

Отбираем права у пользователя

Отзыв привилегий в системе производится путем удаления этого файла из директории:

После этого, пользователь vasia, потеряет административный доступ.

Для группы, права предоставляются аналогичным образом, например у нас есть группа powerusers мы хотим предоставить члеманм этой группы права на перезапуск сервисов и обновления системы без предоставления полного административного доступа, тогда создадим файл

Добавим запись вида:

Где:
%powerusers — название группы

Источник

Как отключить запрос пароля в команде sudo в Linux

Не так давно мы разбирали, в чем разница между командами su и sudo . Если вы предпочитаете вторую команду — сегодняшняя статья для вас.

Как известно, команда sudo запрашивает пароль для своей успешной работы. Это логично, так как работа с правами пользователя root требует ответственности. Но, если вы считаете, что пароль вам только мешает — выход есть.

Прежде, чем перейти непосредственно к теме статьи, я хотел бы сделать предупреждение. Отключение пароля в sudo подходит далеко не всем. Новичкам лучше оставить пароль. Кроме того, я не рекомендую убирать этот пароль на серверах и важных рабочих станциях. Но, если Вы — опытный пользователь, а этот компьютер с Linux это Ваш личный компьютер, то воля Ваша…

Настройки sudo хранятся в файле /etc/sudoers, но открывать его обычным способом я не рекомендую. Вместо этого лучше использовать команду

В чём разница? Команда visudo проверяет синтаксис файла /etc/sudoers перед сохранением, что позволяет избежать ситуаций, когда вы сами себя лишили прав администратора и не можете их вернуть. В большинстве дистрибутивов visudo откроет /etc/sudoers через редактор vi, а вот в Ubuntu по умолчанию используется nano.

Читайте также:  Linux dhcp server address

Неправильно отредактированный /etc/sudoers приводит вот к такому…

Найдите в открывшемся файле нужного пользователя или добавьте нового. Строка должна иметь следующий вид:

[имя_пользователя] ALL=(ALL:ALL) NOPASSWD: ALL

Подобное можно сотворить и с группой. В этом случае строка будет иметь вид:

%[имя_группы] ALL=(ALL:ALL) NOPASSWD: ALL

На самом деле, количество «ALL» в строке опционально и не всегда будет именно таким, как в примере выше. Но это отдельный разговор о синтаксисе файла /etc/sudoers.

Приведем пример. Как видно из скриншота ниже, пользователи, входящие в группу sudo могут использовать одноимённую команду (если учётка или группа, в которую входит учётка, не прописаны в /etc/sudoers, это вызовет ошибку, которую мы подробно разбирали здесь).

Откорректируем строчку, чтобы получилось так:

Теперь у всех, кто входит в эту группу, не будет спрашиваться пароль при выполнении команд через sudo .

Но это ещё не всё. Возможно, что нам не нужно убирать пароль для выполнения всех команд через sudo . Бывает удобно облегчить выполнение некоторых рутинных действий, но оставить пароль для всех остальных. К счастью, файл /etc/sudoers это дозволяет.

В общем виде для пользователей строка будет выглядеть так:

[имя_пользователя] ALL=(ALL:ALL) PASSWD: ALL, NOPASSWD: [команда_1], [команда_2] … [команда_n]

%[имя_группы] ALL=(ALL:ALL) PASSWD: ALL, NOPASSWD: [команда_1], [команда_2] … [команда_n]

Продолжим наш пример с группой sudo. Предположим, что Вы — любитель устанавливать и удалять приложения через Центр приложений. Но это требует прав администратора.

Конечно, можно запустить Центр приложений из терминала через sudo:

но и тут придётся ввести пароль. Альтернатива — отмена ввода пароля для отдельной команды:

Обратите внимание, что надо указывать полный путь к файлу команды. Файлы разделяются запятыми. Параметр PASSWD применяется в sudo по умолчанию, но, поскольку мы прописали NOPASSWD, нам пришлось прописать и PASSWD. Если этого не сделать, пользователю или группе пользователей будет дозволено выполнять только команды, перечисленные после NOPASSWD, а все остальные станут недоступны.

Источник

Команда sudo без пароля Linux

Утилита sudo — позволяет выполнять команды с правами суперпользователя обычному пользователю. Для защиты программа каждый раз спрашивает пароль. Это вполне оправданно, так как с помощью пароля система может проверить, что это действительно пользователь, а не программа, которая просто хочет что-то нашкодить в системе, а также убедится что это именно тот пользователь за которого он себя выдает.

Но пароль можно отключить. Я не рекомендую этого делать, но способ есть и в этой статье мы рассмотрим как пользоваться sudo без пароля в Ubuntu.

Команда sudo без пароля в Linux

Чтобы отключить пароль sudo, надо добавить к строчке настройки пользователя или группы директиву NOPASSWD. Синтаксис такой:

имя_пользователя ALL=(ALL) NOPASSWD: ALL

Для того чтобы отключить пароль sudo для определенного пользователя нужно открыть файл конфигурации sudo и отключить запрос пароля следующей строчкой, например для пользователя losst:

losst ALL=(ALL) NOPASSWD: ALL

Сохраните изменения и закройте файл, на всякий случай напомню что в vi для перехода в режим вставки используется клавиша i, для сохранения команда :w и команда :q для выхода. Теперь sudo не будет запрашивать пароль у выбранного пользователя при выполнении любых команд.

Для того чтобы разрешить пользователю выполнять только некоторые команды без пароля (например apt и reboot) добавьте следующую строчку:

losst ALL=(ALL) NOPASSWD: /usr/bin/apt, /sbin/reboot

Чтобы отключить пароль для группы пользователей используйте следующий код:

%имя_группы ALL=(ALL) NOPASSWD: ALL

Теперь у пользователей группы имя_группы утилита sudo не будет спрашивать пароль, а у всех остальных будет. Чтобы более детально ознакомится с возможностями sudo смотрите статью про настройку sudo в Linux.

Источник

Disable Sudo Password Prompt or Extend Timeout in Linux

Every time you issue a sudo command, Linux asks for your user password after a certain inactivity timeout, usually 5 minutes. This is the recommended behaviour to prevent unauthorised commands being run by someone or a malicious script in your absence. However, this requirement can be disabled per session or permanently, or you can extend the inactivity timeout.

Читайте также:  Install printer driver windows

Disable Per Session

This command below will prompt you for your sudo password once and never again until you log out and in again.

Extend Inactivity Timeout

The default inactivity timeout is usually 5 minutes before Linux will prompt for your sudo password again. You can extend this timeout by editing the sudoers file. The visudo command opens an editor and points it to the sudoers file (Ubuntu defaults to nano, other systems use Vi)

Look for the line Defaults env_reset

Add to the end of it ,timestamp_timeout=60 (where 60 is the amount of minutes).

Save changes and close (In nano, press CTRL + X and then press y and ENTER )

Disable Permanently

You can disable this sudo password prompt permanently using the sudoers file. However, it is not recommended that you do this for security reasons. Unauthorised commands could be run by someone or a malicious script in your absence. If you understand the implications, run visudo to open the sudoers file (Ubuntu defaults to nano, other systems use Vi)

At the bottom of the file, paste in the following, replacing username with your own.

Save changes and close (In nano, press CTRL + X and then press y and ENTER )

Let me know if this helped. Follow me on Twitter, Facebook and YouTube, or 🍊 buy me a smoothie.

p.s. I increased my AdSense revenue by 200% using AI 🤖. Read my Ezoic review to find out how.

2 replies

Leave a reply

That 5-minute timeout is way too short!
Thanks so much for the “sudo -i”

Источник

Execute sudo without Password?

Inspired by this question.

I am the sole person using my system with 12.04.
Every time I issue a sudo command; the system asks for the user password (which is good in its own way).
However I was thinking; without activating the root account; how can I execute the sudo commands which will not ask for user password to authenticate.

NOTE: I want to execute sudo command without authenticating via password; only when they are executed via terminal.
I don’t want to remove this extra layer of security from other functions such a while using ‘Ubuntu software center’ or executing a bash script by drag-drop something.sh file to the terminal.

11 Answers 11

You can configure sudo to never ask for your password.

Open a Terminal window and type:

In the bottom of the file, add the following line:

Where $USER is your username on your system. Save and close the sudoers file (if you haven’t changed your default terminal editor (you’ll know if you have), press Ctl + x to exit nano and it’ll prompt you to save).

As of Ubuntu 19.04, the file should now look something like

After this you can type sudo in a Terminal window without being prompted for the password.

This only applies, to using the sudo command in the terminal. You’ll still be prompted for your password if you (for example) try to install a package from the software center

messing quite some things up). Overall, I wouldn’t call «serious security risk» the simple removal of password prompt from sudo.

sudo -i is the way to go if you don’t want to be typing a password every 10 mins while doing modifications in your system (or other systems), and you don’t want to modify any system files.

It will switch you to root using your sudo user password, when you close the console or type exit you are back to your normal user.

The preferred way to grant individual (or group) permissions would be to add files under /etc/sudoers.d

This separates local changes from the default policy and saves time in case the distribution sudoers file changes.

To make the currently logged in user a a sudoer and make sudo not prompt them for a password, use

Читайте также:  The escapists вылетает при запуске epic games windows 10

this will create a file called /etc/sudoers.d/$USER (where $USER is the username of the user that you were logged in as when you ran that command), making it clear which users are granted permission.

If you want to do that for a different user, just replace both instances of $USER with some other username in the above command.

Similarly, one file can be used to manage multiple directives:

See /etc/sudoers.d/README and man sudoers for more information.

Root sudo timeouts are the easiest and safest way of doing this. I’ll lay out all examples but be warned it is very risky any way you do this although this way is much safer:

This opens an editor and points it to the sudoers file — Ubuntu defaults to nano, other systems use Vi. You’re now a super user editing one of the most important files on your system. No stress!

(Vi specific instructions noted with (vi!). Ignore these if you’re using nano.)

Use the arrow keys to move to the end of the Defaults line.

(vi!) press the A (capital «a») key to move at the end of the current line and enter editing mode (append after the last character on the line).

where X is the timeout expiration in minutes. If you specify 0 you will always be asked the password. If you specify a negative value, the timeout will never expire. E.g. Defaults env_reset,timestamp_timeout=5 .

(vi!) hit Escape to return to command mode. Now, if you’re happy with your editing, type in :w Enter to write the file and :q Enter to exit vi. If you made a mistake, perhaps the easiest way is to redo from start, to exit without saving (hit Escape to enter the command mode) and then type :q! Enter .

Hit Ctrl + X , then Y , then Enter to save your file and exit nano.

You might want to read the sudoers and vi manual pages for additional information.

Reset timeout value using:

These instructions are to remove the prompt for a password when using the sudo command. The sudo command will still need to be used for root access though.

Edit the sudoers file

Open a Terminal window. Type in sudo visudo . Add the following line to the END of the file (if not at the end it can be nullified by later entries):

Replace with your username (without the <> ). This is assuming that Ubuntu has created a group with the same name as your user name, which is typical. You can alternately use the group users or any other such group you are in. Just make sure you are in that group. This can be checked by going to System -> Administration -> Users and Groups.

Type in ^X ( Ctrl + X ) to exit. This should prompt for an option to save the file, type in Y to save.

Log out, and then log back in. This should now allow you to run the sudo command without being prompted for a password.

The root account

Enabling the root account

Enabling the root account is rarely necessary. Almost everything you need to do as administrator of an Ubuntu system can be done via sudo or gksudo. If you really need a persistent root login, the best alternative is to simulate a Root login shell using the following command:

However, if you must enable root logins, you can do it like this:

Re-disabling your root account

If for some reason you have enabled your root account and wish to disable it again, use the following command in the terminal:

System-wide group sudo

Log out, and then back in.

Reset sudo timeout

You can make sure sudo asks for password next time by running:

Источник

Оцените статью