Это домашний компьютер, которым никто не пользуется.
Может ли кто-нибудь протянуть руку помощи для создания сценариев для каждой из следующих команд:
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.
Или, если у вас есть другой более прямой, простой, быстрый и минимальный способ выполнить запрос.
Происхождение sudo функции должно было создать и ограничить корневые способности к выбранным смертным пользователям. Также для создания зарегистрированного журнала аудита для взгляда на то, в случае, если кто-то повредил что-то с помощью корневого доступа. До того времени многие пользователи и администраторы вошли бы в систему как корень и сделали бы всю свою работу в корне привилегированная оболочка, были ли им нужны те возможности или нет. Было весьма распространено войти в систему сервера и видеть много десятков корневых логинов от многих различных терминалов. Очевидно, ведомый к хаосу.
единственный главный риск, что я вижу то, что Вы предлагаете, состоит в том, что, если бы кто-то взламывает Вашу учетную запись, они увеличили бы доступ к корневым файлам и командам. Если бы Вам отключили telnet и ssh, заблокированный вниз надежно, они рискуют, был бы минимизирован. Как системный администратор в течение многих десятилетий я всегда отговариваю от хитрости моделей обеспечения безопасности, но что Вы хотите сделать в контексте ограниченного доступа, домашняя среда, вероятно, относительно безопасна.
Тем не менее, если Вы незнакомы с записью сценариев или программированием обычно, пишущий сценарий для обхода sudo безопасности, поскольку первое усилие по сценариям, вероятно, опрометчиво. Если Вы не пишете свой сценарий очень умным способом, кто-то мог очень хорошо приехать и выяснить Ваш пароль и / или использовать Ваш сценарий, чтобы сделать плохие вещи.
самое легкое, но нисколько самый мудрый способ не выполнить, что Вы хотите, состоит в том, чтобы в основном войти в систему как корень. Это эффективно обошло бы sudo в той оболочке.
sudo su
вводит Ваш пароль
, который Ваша подсказка изменит от $ до #
whoami
, Проверяют, что Вы действительно корневые
, я использовал бы эту оболочку ТОЛЬКО для команд, которые требуют корневого доступа. Не используйте его для ежедневных смертных пользовательских операций. Вы в конечном счете повредите что-то случайно. Все испытали Администраторов Sys, имеют в какой-то момент.
Кажется, что эти шаги разрешили этот случай:
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" каждый каждый из них, должно быть тем же.