Як часто запитують пароль для команд sudo? Де я можу його встановити?


24

Я виконую досить багато sudoкоманд.

Я помітив, що якщо я виконую один, а потім інший протягом декількох хвилин, вдруге я не отримую повідомлення:

[sudo] пароль для my_username:

але я отримую це, коли між виконанням двох команд є більше часу.

Який період часу, коли повідомлення не з’являється? Як ми можемо це перевірити / оновити?


1
Суд visudo, то% Суду лінія повинна бути% Суд ALL = (ALL: ALL) NOPASSWD: ALL, він не буде ставити вам будь-який пароль при введенні SUDO будь-якого-матеріалу
Касим

3
Це (NOPASSWD: ALL) - дуже небезпечна пропозиція. Це зробить вашу установку незахищеною.
Шрі

Відповіді:


31

Типовий час очікування sudoстановить 15 хвилин; тобто sudoзапам'ятає ваш пароль 15 хвилин за замовчуванням.

Ви можете змінити цей час за замовчуванням, додавши рядок у файл /etc/sudoers. Однак ви не змінюєте файл безпосередньо, а замість цього використовуєте команду sudo visudo.

Отже, наберіть sudo visudoтермінал. Це відкриє (насправді, тимчасовий) файл для редагування, використовуючи бажаний редактор.

Примітка: якщо ви використовуєте visudoвперше, вам слід запитати, який редактор ви хочете використовувати, тому виберіть свого редактора. "Кращого" редактора немає, але я вважаю за краще nano. Якщо ви вже використовували visudoі вибрали редактор раніше, але ви хочете використовувати інший редактор для пори до часу, ви можете зробити , sudo EDITOR=vi visudoщоб використовувати vi, або змінити його nanoвикористовувати nano. Якщо ви хочете остаточно змінити бажаний редактор, зробіть це sudo update-alternatives --config editor.

Шукайте цей рядок:

Defaults    env_reset

І додайте (з комою) наприкінці, де X - час, який ви хочете встановити в хвилинах.timestamp_timeout=X

Отже, ваш рядок повинен виглядати приблизно так, як приклад:

Defaults    env_reset,timestamp_timeout=5

Якщо ви вкажете 0, вам завжди буде запропоновано пароль. Якщо вказати негативне значення, час очікування ніколи не закінчиться.

Після завершення збережіть і вийдіть.

Джерело: RootSudoTimeout


Дякую, @Alaa, це хороша і корисна відповідь. Як бічна примітка, Ctrl + xчастина не завжди відповідає, як редактор може бути, наприклад vi(у моєму випадку).
fedorqui

До речі, я зробив велику помилку, додавши новий рядок лише Default timestamp-0замість того, з яким env_reset. Це зламало мій файл судорів. Довелося використовувати askubuntu.com/a/73872/143251 для її вирішення!
fedorqui

@fedorqui: Саме тому ви повинні використовувати visudo (як рекомендує Alaa), а не редагувати файл безпосередньо. Колишній синтаксис перевірить файл для вас, не даючи вам заблокувати себе від sudo.
Плутор

Так, так, саме це я і зробив @Plutor. Але viце редактор, якого я визначив visudo. Проблема полягає в тому, що я зберег файл, хоча під час закриття отримав попереджувальне повідомлення. Моя вина, очевидно.
fedorqui

1
@fedorqui, так, я якось хотів видалити цю частину, тому що хтось міг використовувати інший редактор. Я відредагував свою відповідь, щоб не мати конкретного редактора.
Алаа Алі

3

Дивіться цю публікацію тут: http://ubuntuforums.org/showthread.php?p=116697#post116697

Редагуйте /etc/sudoersфайл, використовуйте sudo visudoкоманду для безпеки. Додайте timestamp_timeout=0до рядка, починаючи Defaultsзапитувати кожен раз, або позитивний X для X хвилини затримки.


1
Я повинен зареєструватися на форумі, щоб побачити це. Тим часом, чи можете ви вказувати, який файл я повинен редагувати за допомогою timestamp_timeout=0рядка?
fedorqui

Гаразд, фіксована відповідь.
Туміноїд

Це зробило трюк! Я прийму іншу відповідь, оскільки вона має більш всебічне пояснення і включає env_resetпосилання, що важливо. У будь-якому випадку ця ваша відповідь також була дуже корисною, тому дякую!
fedorqui

0

Не впевнений, закінчується чи ні, але ви можете спробувати

sudo su

Він запитає пароль і після цього всі команди виконуються як sudo.


1
Так, @ Rat2000, але я хочу продовжувати використовувати свого користувача, а ні root. Я думаю, що це безпечніше. У будь-якому випадку, дякую за пораду.
fedorqui

3
Судо Су змушує вас стати корінцем. Після цього ваше запит має бути root @ yourpc. Зверніть увагу, що у root є власний .bashrc, тому ваші псевдоніми не працюватимуть. Майте на увазі також, що корінь може завдати серйозної шкоди системі, тому будьте обережні!
спертер
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.