... но все же требуется для приложений, которым требуются права администратора?
Для того, чтобы разрешить следующее:
$ 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!
Для справки, я видел эту установку на экземплярах Amazon E3
Есть идеи?
sudo
authentication
tutuca
источник
источник
Ответы:
Вам нужно отредактировать файл sudoers. Имейте в виду, что успех дает вам менее безопасную систему, а сбой может сломать sudo. ВСЕГДА редактируйте файл sudoers с помощью
sudo visudo
, поскольку visudo проверяет наличие ошибок и не сохраняет файл, если таковые обнаружены.Это плохая идея - дать всем разрешение на запуск от имени пользователя root без пароля, поэтому просто пропустите нужный вам исполняемый файл (apache2ctl); добавьте следующее к самому низу файла:
Вы можете заменить путь к исполняемому файлу на «ВСЕ», если захотите, что даст вам полное sudo без пароля.
Замените ВАШЕ ИМЯ своим именем пользователя и нажмите Ctrl+, Xчтобы сохранить и выйти. Если произошла ошибка, она предложит отменить, отредактировать или сохранить в любом случае.
Убедитесь, что вы используете полный путь к исполняемому файлу:
т.е.
/usr/bin/apache2ctl
вместо простоapache2ctl
. Это важно, потому что без явного указания пути sudo позволит любой программе с именем apachectl на текущем пути пользователя запускаться от имени пользователя root.источник
%YOURNAME
это даст разрешение группе, названной как ваш пользователь, что, как правило, не является проблемой, так как каждый обычный пользователь имеет группу с таким же именем в системах Ubuntu. Чтобы дать разрешение своему пользователю, укажитеYOURNAME
без%.apache2ctl
), например , так:YOURNAME YOUR-HOSTNAME = NOPASSWD: /usr/bin/apache2ctl <specific arg | "">
. --- Во всех случаяхman 5 sudoers
это ссылка для перехода.Реальный ответ на этот вопрос может быть сложным, потому что sudo очень мощный, и его можно настроить для выполнения крутых вещей. Это подробно объясняется в документации .
Краткий ответ запускается
sudo visudo
в терминале. Если вы запускаете visudo впервые, он спросит, какой редактор вы предпочитаете. Обычно считается, что nano проще всего использовать, но выберите тот редактор, который вам наиболее удобен / знаком. Вам нужно будет решить, кому вы хотите предоставить доступ; это может бытьALL
для всех ( очень плохая идея) , для пользователя или для системной группы. Группы имеют префикс со знаком%. Например, если вы хотите дать всем вsteroid_users
группе привилегии суперпользователя без пароля для всех команд, вы должны добавить:в конец файла выйдите и сохраните файл. Если все идет хорошо, и вы являетесь членом группы steroid_users, вы сможете выполнить выдачу
sudo *some-command*
без необходимости ввода пароля.Имейте в виду, что любой, у кого есть доступ к вашему терминалу, когда вы вошли в систему - или если у вас есть ssh, настроенный для аутентификации на основе ключей, или (что еще хуже) включили беспарольный сеанс входа в систему - полный и беспрепятственный доступ ко всему вашему система. Если в вашей системе несколько пользователей, или если это файловый сервер, все файлы пользователей могут быть подвержены риску, поскольку root может делать все что угодно!
Также, если вы допустите ошибку, visudo выдаст и сообщение об ошибке, а не сохранит изменения в файле. Это поможет предотвратить полное разрушение sudo. Вы должны действительно прочитать документацию . Sudo разработан для того, чтобы предоставить пользователям достаточно доступа для выполнения своей работы без необходимости выставлять всю вашу систему на вооружение. Может быть выгодно предоставлять свободный доступ к паролю только для определенных команд.
Надеюсь, это поможет.
источник
Вам нужно отредактировать файл / etc / sudoers (для этого есть команда visudo), чтобы добавить NOPASSWD до списка разрешенных команд для вашего пользователя или группы. Если ваш пользователь входит в группу администраторов - вам необходимо следующее:
Проверьте https://help.ubuntu.com/community/Sudoers , кстати.
источник
Вы МОЖЕТЕ добавить флаг nopasswd в список пользователей, но это не устраняет все пароли, задаваемые вопросы. Будет задан только первый.
sudo visudo
(Вы ДОЛЖНЫ использовать sudo. Это файл администратора.)cyrex ALL = NOPASSWD: ALL
илиcyrex ALL = (ALL) NOPASSWD: ALL
источник
или
Я предполагаю, что это сделало бы это.
Но будьте осторожны с удалением паролей для sudo.
источник
Теперь простой ответ! Невозможный способ испортить что-либо или помешать вашей установке.
Просто введите ваш пароль пару раз, и вам больше никогда не придется его вводить! Это позволит вам добавить учетную запись локального администратора в группу «root», которая затем не будет закомментирована в шаблоне, который предоставит привилегии суперпользователя всей группе «root». Вы можете прочитать мою проблему безопасности / решение для этой процедуры в более поздней части этого поста.
% username & - это глобальная переменная для вашего имени пользователя (замените его на желаемое имя пользователя)
Шаг 1: Откройте окно терминала и введите «
sudo usermod -a -G root %username%
»Шаг 2: Затем скопируйте / вставьте это ...
Шаг 2 ИЛИ тип
Перейдите на строку 19 и удалите "#" раньше
# auth sufficient pam_wheel.so trust
(для некоторых это может быть другой номер строки)* Первая команда добавляет ваше имя пользователя% в группу "root"
Вторая / третья команды позволяют всем членам группы «root» быть суперпользователем без пароля, в отличие от предоставления пользователю «root» su привилегий для аутентификации.
Сноска:
Не связывайтесь с
/etc/sudoers
... Есть много проверок / противовесов, через которые должна пройти аутентификация 'su'. Для аутентификации суперпользователя используется та же процедура pam.d, что и для всех других аутентификаций при входе. «/etc/security/access.conf» имеет макет для управления доступом через коммуникацию tcp / ip (192.168.0.1) и через службы telnet (tty1 & tty2 и tty3 ... и т. д.). Это позволяет более точно фильтровать каждое приложение через транспортный протокол. Если вы беспокоитесь о безопасности, тогда ваша забота должна быть направлена на угрозы удаленного доступа или кода, а не на то, кто действительно касается вашего компьютера, когда вы выходите из комнаты !!!Пища для паранойи (не печатайте это только, рассмотрите это):
^ Это блокирует доступ к консоли для всех, кто не является членом системы или root. Иногда программы устанавливают имена пользователей / группы, которые эксплуатируются!
источник