Как прекратить использование sudo?

Этот ответ в основном основан на документации для systemd.kill , но был обновлен после проведения некоторых тестов. Следует признать, что это не идеальное решение этой проблемы.

УстановивSendSIGKILL=noв вашем юнит-файле, можно предотвратить уничтожение процесса. Чтобы разрешить отправку начального SIGTERM, вам, вероятно, потребуется восстановить для параметра KillModeего значение по умолчанию, то есть control-group.

С этими настройками запуск systemctl stop machine.serviceдолжен работать следующим образом:

  1. Поскольку в юнит-файле не указаны команды ExecStop=, процессу отправляется SIGTERM.

  2. По прошествии 90 секунд (DefaultTimeoutStopSec), systemdрассматривает принудительное завершение процесса.

  3. Поскольку для SendSIGKILLустановлено значение no,SIGKILL(FinalKillSignal)— это , а не , которое отправляется процессу, и процесс продолжает работать.

Фактически, единственным сигналом, отправленным процессу на systemctl stop, будет SIGTERM. Поскольку обработка SIGTERMвыполняется внутри самого приложения, systemctl stopдолжно работать так, как задумано :останавливает приложение, когда удаленная машина не работает,время ожидания, когда удаленная машина работает.

Проблема с этим подходом отмечена Михал Политовски в комментариях. А именно, systemdбудет считать устройство неисправным по истечении тайм-аута остановки. Это не повлияет на сам процесс, но изменит точку зрения systemd на процесс. Если вы выполните еще одну команду «systemctl start», пока устройство находится в этом состоянии, вы получите два процесса.

Опция KillMode=none, которую вы уже использовали, полностью исключает логику завершения процесса. Однако результаты аналогичны этому подходу. Состояние объекта меняется на неактивное, а процессы продолжают работать.

В качестве дополнительного примечания, 90-секундный тайм-аут можно настроить с помощью TimeoutStopSec.

0
22.09.2020, 21:59
3 ответа

Вам придется привыкнуть к использованию sudo, это означает S uper U ser Do и это как ввести пароль администратора в Windows это правда жизни.

Вы хотите установить драгоценные камни как ваш пользователь (ubuntu), а не в системе в целом? Это объясняется здесь:

https://stackoverflow.com/questions/31596273/install-gem-in-local-folder

1
18.03.2021, 23:03

Опции

  • Запуск от root :это плохой выбор, если только процессы не ПОЛНОСТЬЮ автоматизированы, и вы можете легко сбросить состояние машины. Под «Легко» я подразумеваю настолько простое, что вы делаете это много и не думаете об этом.
  • Установите sudoтак, чтобы пароль -не разрешался. См. предостережения выше.
  • Узнайте, зачем вам sudo, какие разрешения или возможности необходимы. Тогда исправьте проблему.

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

0
18.03.2021, 23:03

Содержимое файла при выполненииvisudo

## Allow root to run any commands anywhere
root    ALL=(ALL)       ALL

## Allows people in group wheel to run all commands
%wheel  ALL=(ALL)       ALL

Поскольку вы сказали raspberry pi и делаете то, что делаете, где и где на таком оборудовании, вам может не понадобиться полномасштабная безопасность Linux; нет ничего плохого в том, чтобы открывать что-то в Linux, когда вы находитесь в рабочей среде. Просто поймите, как только вы начинаете работать в сети, а другие могут получить либо физический, либо сетевой доступ, у вас есть потенциальная проблема безопасности

Просто добавьте строку

ubuntu    ALL=(ALL)       ALL

вы также можете заменить ubuntuна слово ALL, которое затем позволяет любой учетной записи в Linux делать что-либо без запроса пароля, как root. Нет ничего плохого в том, чтобы понять и свободно заявить об этом, каждый должен понимать, что там за файл sudo, и понимать, что в нем написано и что там должно и не должно быть.

Я не знаком с Ubuntu Linux. Я не знаю, есть ли функция автоматического входа или входа без пароля ; Я ожидаю, что он позволит войти в систему как root, введя пароль для этой учетной записи. Дистрибутивы Linux различаются уровнем безопасности по умолчанию, который они используют при установке (n-символьных паролей, сложностью и т. д. )Все это технически можно отменить, хотя это не одобряется в 9 из 10 раз, в настройках рабочей среды да, это осуществимо.

Any idea why I have to use sudo for everything? Is that normal?

Да, это нормально. Это уровень безопасности по умолчанию, который в наши дни используют все дистрибутивы Linux по умолчанию после установки, ожидая, что компьютер будет подключен к Интернету. Для rpi, в настройках рабочего места, да, вы можете ослабить некоторые элементы безопасности, чтобы упростить задачу.

0
18.03.2021, 23:03

Теги

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