Как запустить приложение, используя sudo без пароля?

... но все еще требоваться для заявлений тот администратор потребности privilegies?

Чтобы позволить следующее:

$ apache2ctl restart
httpd not running, trying to start
(13)Permission denied: make_sock: could not bind to address 0.0.0.0:80
no listening sockets available, shutting down
Unable to open logs

$ sudo !!
sudo apache2ctl restart             #no password asked
$                                   #works!

Для справки я видел эту установку на e3 случаях амазонки

Какая-либо идея?

38
Это - великое обучающая программа на форумах, который детализирует создание отдельного файла для определения программ, которые вы обычно используете. И хорошая идея из соображений безопасности.
добавлено автор Doktor J, источник

6 ответы

Необходимо отредактировать sudoers файл. Сообщите, что успех дает вам, менее защищенная система и неудача могут сломать sudo. ВСЕГДА редактируйте sudoers файл с sudo visudo , поскольку visudo проверяет ошибки и не сохранит файл, если кто-либо найден.

Это - плохая идея дать всему разрешение бежать как корень без пароля, так чтобы просто пропустить один исполняемый файл, в котором вы нуждаетесь (apache2ctl); приложите следующее к самому основанию файла:

YOURNAME ALL = NOPASSWD: /usr/bin/apache2ctl

Можно заменить путь к исполняемому файлу со "ВСЕМИ", если вы выбираете, давание вас заканчивает passwordless sudo.

Замените YOURNAME своим именем пользователя и прессой Ctrl + X , чтобы спасти и выйти. Если ошибка произошла, она предложит возвращаться, редактировать, или экономить так или иначе.

Be sure that you use the full path to an executable:
ie. /usr/bin/apache2ctl instead of just apache2ctl. This is important because without explicitly stating the path sudo will allow any program named apachectl on the user's current path to run as root.

49
добавлено
Старая почта, но я определенно закончил бы тот ответ, ограничив sudoers' вход в конкретное имя хоста (если возможный), и любой к данным аргументам o ни к какому аргументу вообще (после apache2ctl ), как так: YOURNAME YOUR-HOSTNAME = NOPASSWD: / usr/ bin/ apache2ctl <�определенный аргумент |""> .---Во всех случаях человек 5 sudoers является ссылкой, чтобы пойти в.
добавлено автор Cbhihe, источник
Обратите внимание, что %YOURNAME даст разрешение группе названный как ваш пользователь, который обычно является не проблемой, так как у каждого обычного пользователя есть подобно названная группа на системах Ubuntu. Чтобы дать разрешение вашему пользователю, определите YOURNAME без %.
добавлено автор Daniel Werner, источник
Есть ли способ быть большим количеством restructive? (некоторые функции только исполняемого файла)
добавлено автор 3pic, источник

Реальный ответ на этот вопрос может быть сложным, потому что sudo <�силен> очень сильный, и может формироваться, чтобы сделать прохладные вещи. Это полностью объяснено в документация.

Коротким ответом управляют sudo visudo в терминале. Если это будет первым разом, когда вы управляли visudo, он спросит вас, какого редактора вы предпочитаете. нано , как обычно думают, является самым легким использовать, но выбрать редактора вы являетесь самыми удобными/знакомыми. Необходимо будет решить, к кому вы хотите предоставить доступ; это могло быть ВСЕ для всех ( очень плохая идея) , пользователь или системная группа. Группы предварительно фиксируются со знаком %. Например, если бы вы хотели дать всем в steroid_users полномочия пользователя root группы без потребности в пароле для всех команд, то вы добавили бы:

%steroid_users ALL=(ALL) NOPASSWD: ALL

до конца файла, выхода, и сохранили файл. Если все будет подходить, и вы - член steroid_users группы, вы будете в состоянии выйти sudo *некоторая-команда* без беспокойства необходимости ввести ваш пароль.

Следует иметь в виду, что любой, у кого есть доступ к вашему терминалу, в то время как вы вошли - или если у вас есть ssh установка для основанного на ключе автора или (еще хуже) , позволил паролю свободные логины сессии - полный и беспрепятственный доступ к вашему <�сильному> всему система. Если у вас есть многочисленные пользователи на вашей системе, или если это - файловый сервер, все пользовательские файлы могли бы находиться в опасности, как корень может сделать что-либо!

Кроме того, если вы сделаете ошибку, то visudo будет выходной сигнал и сообщение об ошибке и не экономить изменения файла. Это поможет предотвратить ломку sudo полностью. Необходимо действительно читать документация. Sudo разработан, чтобы предоставить пользователям как раз достаточно доступа, чтобы сделать их работу без потребности выставить вашу всю систему. Может быть выгодно только предоставить свободный доступ пароля для определенных команд.

Я надеюсь, что это помогает.

24
добавлено
Да, это помогает мне много, thanks!
добавлено автор Thrash505, источник
Это работало, я взял это, и затем я использовал "sudo обслуживание sudo перезапуск" от askubuntu.com/questions/192050/… и я смог использовать все это на своей активной сессии Ubuntu. Потрясающий!
добавлено автор schremmer, источник

Необходимо будет отредактировать '/etc/sudoers' 'файл (есть' visudo 'команда для этого.), чтобы добавить NOPASSWD до списка позволенных команд для Вашего пользователя или группы. Если Ваш пользователь находится в группе 'администратора' - Вам нужно следующее:

%admin ALL=(ALL) NOPASSWD: ALL

Проверить https://help.ubuntu.com/community/Sudoers btw.

5
добавлено

Вы МОГЛИ добавить nopasswd флаг к списку пользователей, но это не устраняет все пароли, которые задают вопросы. Только первый спросят.

  1. Edit sudoers: sudo visudo (You HAVE TO use sudo. This is an admin file.)
  2. Add your user with the nopasswd flag after the Admin Line (at the end). For example:
    cyrex ALL = NOPASSWD: ALL or cyrex ALL = (ALL) NOPASSWD: ALL
3
добавлено
sudo visudo
% ALL = NOPASSWD: apache2ctl

или

sudo visudo
% ALL = NOPASSWD: /etc/init.d/apache2

Я предполагаю, что это сделало бы это.

But be careful with removing passwилиds fили sudo.

2
добавлено
Необходимо определить абсолютный путь в первом примере из соображений безопасности - недобросовестный пользователь мог изменить $PATH и украсть доступ корня с неправомочным названием команды.
добавлено автор WW., источник

Now for the simple answer! No possible way to mess anything up or fudge your install up.

Просто введите свой пароль пару раз, и затем вы никогда не должны будете входить в него снова! Это позволит вам добавлять местный счет администратора группе "корень", который тогда не прокомментирован от шаблона, который позволит все привилегии суперпользователя "корня" группы. Можно прочитать мою проблему безопасности/решение для этой процедуры в более поздней части этой почты.

%username& is the global variable for your username(replace it with desired username)

Шаг 1: Откройте окно терминала и затем напечатайте" sudo usermod-a-G, внедряют %username % "

Шаг 2: Тогда скопировать/вставить это...

sudo sed -i 's/# auth       sufficient pam_wheel.so trust/auth       sufficient pam_wheel.so trust/g' /etc/pam.d/su`

Step 2 OR type

sudo nano /etc/pam.d/su`

Линия Goto 19 и удаляет "#" перед # подлинное достаточное доверие pam_wheel.so (может быть различный номер строки для некоторых),

*Первая команда добавляет ваш %username % к группе "корень"

вторые/третьи команды позволяют всем членам группы "корень", чтобы быть суперпользователем без пароля, против только разрешения пользователя "внедряют" su привилегии для идентификаций.


Сноска:

Don't mess around with /etc/sudoers... There are a lot of checks/balances that 'su' authentication must go through. Superuser authentication uses the same pam.d procedure as all other login authentications. "/etc/security/access.conf" has the layout for access control via tcp/ip(192.168.0.1) communication and through telnet services (tty1&tty2&tty3...etc) This allows more precise filtering per application via transport protocol. If safety is your concern, then your concern should be directed towards remote/code threats versus someone actually touching your computer when you leave the room!!!

Еда для паранойи (не печатают этого в просто обзоре это):

sudo sed -i 's/#-:ALL EXCEPT (wheel) shutdown sync:LOCAL/-:ALL EXCEPT (wheel) shutdown sync:LOCAL/g' /etc/security/access.conf

^, который Это блокирует доступ, чтобы утешить для любого, кто не член системы или корня. Иногда программы устанавливают имена пользователей/группы, которые эксплуатируются!

0
добавлено
Не специалист по безопасности, но это кажется небольшим количеством интуитивного прилавка. Вы отключаете пароли для всей группы , чтобы позволить отдельному пользователю , управляют определенным приложением без пароля, чтобы избежать "сложности" очистки sudo для конкретного применения, правильно? И все это на общественном сервере? Сценарий отключал ваши основные инстинкты выживания? Безопасность СЛОЖНА ДИЗАЙНОМ. Помните, it' s как луковица. У этого есть слои, и это заставляет вас кричать... Потеря данных на поставивших под угрозу серверах - только часть уравнения. Посадка весны хакера нападает от вашей системы, одинаково серьезно, но часто пропущен
добавлено автор hmayag, источник
It' s противостоят интуитивному и встречному здравому смыслу: Открытие целой банки печенья для пользователя, которому только нужно одно печенье, довольно безответственное. Вы добавили бы, что пользователи к sudoers перечисляют и устраняют необходимость ввести пароли вместо того, чтобы редактировать sudoers файл/файлы. "Если пистолет небезопасен для детей, не давайте им канон". - я
добавлено автор John, источник