Как создать сценарий и добавить его в / etc / sudoers с NOPASSWD [закрыто]

Это домашний компьютер, которым никто не пользуется.

Может ли кто-нибудь протянуть руку помощи для создания сценариев для каждой из следующих команд:

echo 100 > /sys/class/backlight/intel_backlight/brightness

ethtool -s eth0 autoneg off speed 100 duplex full

dhclient eth0

apt-get update && apt-get upgrade && apt-get dist-upgrade -y

apt-get autoremove && remove && clean && autoclean -y

Добавление каждого сценария в

/etc/sudoers

ALL=(ALL:ALL) ALL you ALL=(ALL:ALL) NOPASSWD: /usr/local/sbin/myscript.sh 

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

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

1
задан 9 June 2017 в 22:13

2 ответа

Происхождение sudo функции должно было создать и ограничить корневые способности к выбранным смертным пользователям. Также для создания зарегистрированного журнала аудита для взгляда на то, в случае, если кто-то повредил что-то с помощью корневого доступа. До того времени многие пользователи и администраторы вошли бы в систему как корень и сделали бы всю свою работу в корне привилегированная оболочка, были ли им нужны те возможности или нет. Было весьма распространено войти в систему сервера и видеть много десятков корневых логинов от многих различных терминалов. Очевидно, ведомый к хаосу.

единственный главный риск, что я вижу то, что Вы предлагаете, состоит в том, что, если бы кто-то взламывает Вашу учетную запись, они увеличили бы доступ к корневым файлам и командам. Если бы Вам отключили telnet и ssh, заблокированный вниз надежно, они рискуют, был бы минимизирован. Как системный администратор в течение многих десятилетий я всегда отговариваю от хитрости моделей обеспечения безопасности, но что Вы хотите сделать в контексте ограниченного доступа, домашняя среда, вероятно, относительно безопасна.

Тем не менее, если Вы незнакомы с записью сценариев или программированием обычно, пишущий сценарий для обхода sudo безопасности, поскольку первое усилие по сценариям, вероятно, опрометчиво. Если Вы не пишете свой сценарий очень умным способом, кто-то мог очень хорошо приехать и выяснить Ваш пароль и / или использовать Ваш сценарий, чтобы сделать плохие вещи.

самое легкое, но нисколько самый мудрый способ не выполнить, что Вы хотите, состоит в том, чтобы в основном войти в систему как корень. Это эффективно обошло бы sudo в той оболочке.

sudo su

вводит Ваш пароль

, который Ваша подсказка изменит от $ до #

whoami

, Проверяют, что Вы действительно корневые

, я использовал бы эту оболочку ТОЛЬКО для команд, которые требуют корневого доступа. Не используйте его для ежедневных смертных пользовательских операций. Вы в конечном счете повредите что-то случайно. Все испытали Администраторов Sys, имеют в какой-то момент.

3
ответ дан 7 December 2019 в 12:32

Кажется, что эти шаги разрешили этот случай:

sudo su

Создают /usr/local/bin/scriptname и пишут вне строк в нем:

#!/bin/bash

command in here without sudo

# the end of the script's name

_

Create /etc/sudoers.d/scriptname and write the following lines in it:

User_Alias scriptname=username
Cmnd_Alias scriptabreviaton=/usr/local/bin/scriptname
scriptname ALL=NOPASSWD: scriptabreviaton

Добавляют в конце /etc/sudoers следующие две строки:

username ALL=(ALL:ALL) ALL
username ALL=(ALL:ALL) NOPASSWD: /usr/local/bin/scriptname

_

chown root:root /etc/sudoers.d/scriptname
chown root:root /usr/local/bin/scriptname
chmod 0700 /usr/local/bin/scriptname
chmod 0440 /etc/sudoers.d/scriptname

_

С имени обычного пользователя:

sudo /usr/local/bin/scriptname

Это не должно больше просить sudo пароль.

Везде то, когда это записано "scriptname", "usernme", "scriptabreviaton" каждый каждый из них, должно быть тем же.

0
ответ дан 7 December 2019 в 12:32

Другие вопросы по тегам:

Похожие вопросы: