Как создать скрипт и добавить его в / etc / sudoers с помощью NOPASSWD [закрыто]

Да, начиная с 18.04 Ubuntu отправит следующее в Canonical:

Какую версию Ubuntu вы устанавливаете (в том числе, какой вкус) Имеете ли вы сетевое подключение Статистика оборудования, включая CPU, RAM, GPU , и т. д. Ваш поставщик устройства (например, Dell, Lenovo и т. д.). Ваша страна. Сколько времени потребовалась ваша установка. Если у вас включен автообновление. Макет вашего диска. Если вы решили установить сторонние кодеки, независимо от того, выбрали ли вы загрузку обновлений во время установки

Тем не менее, в установщике и системных настройках будут доступны параметры, чтобы отключить их. Canonical также говорит, что они будут публиковать большинство или всю эту информацию.

Источник

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

4 ответа

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

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

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

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

sudo su

ввести пароль

Ваше приглашение изменится с $ на #

whoami

Убедитесь, что вы действительно root

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

3
ответ дан 18 July 2018 в 11:59

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

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.

Везде, где написано «имя скрипта», «usernme», «scriptabreviaton» каждый из они должны быть одинаковыми.

0
ответ дан 18 July 2018 в 11:59

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

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

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

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

sudo su

ввести пароль

Ваше приглашение изменится с $ на #

whoami

Убедитесь, что вы действительно root

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

3
ответ дан 24 July 2018 в 19:53
  • 1
    Удаление telnet - это всегда хорошая идея. Также блокирует порт 23 в брандмауэре. Что касается ssh, если вам никогда не понадобится ssh или sftp в вашей машине, блокировка порта 22 будет прекрасной. Лично я бы этого не делал (потому что мне нужно ssh в мои машины), и вместо этого настроить / etc / ssh / sshd_config будет очень ограничительным. Большинство хакеров пытаются атаковать грубую силу в корневой учетной записи. Если вы запретите вход в систему ssh root, вы, вероятно, будете в порядке. – jones0610 8 June 2017 в 01:30
  • 2
    Ваш план должен быть прекрасным. Я абсолютно параноик в отношении безопасности системы и очень сильно блокирую вещи. Для вашей ограниченной домашней среды ваше предложение должно хорошо работать для вас. Если вам понравился мой ответ, я всегда благодарен за его принятие. Удачи тебе! – jones0610 8 June 2017 в 18:37
  • 3
    Блокировка порта 22 на брандмауэре и удаление telnet устранит большинство попыток взломать вашу систему. Конечно, есть и другие векторы, которые используют хакеры, но для вашего плана изменить модель sudo. Думаю, вы в порядке. Большая часть действительно плохого взлома, в особенности установка руткита, сделает то, что вы планируете делать спорным. Всегда рекомендуется отключать ненужные службы и блокировать порты на брандмауэре, которые вы никогда не будете использовать. Не расплывчато в моем ответе, но нет такой вещи, как неустранимый компьютер. – jones0610 8 June 2017 в 21:05
  • 4
    @XPDIN прочитал мой обновленный ответ – jones0610 8 June 2017 в 22:26
  • 5
    Что бы ни нравилось вам. Удачи. – jones0610 8 June 2017 в 22:39

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

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.

Везде, где написано «имя скрипта», «usernme», «scriptabreviaton» каждый из они должны быть одинаковыми.

0
ответ дан 24 July 2018 в 19:53

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

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