Як змусити програму запуститись на вході як root


0

Що я намагаюся зробити - це створити сценарій, який відкриє додаток, який я потім додаватиму як гачок для входу, тому коли користувач увійде в систему, гачок для входу запустить сценарій як root, який потім запустить програму як root . У мене взагалі немає досвіду сценаріїв, і я спробував кілька прикладів інших сценаріїв, але безрезультатно. Будь-яка допомога буде дуже вдячна.

EDIT. У мене працює ОС X 10.6.4


На якій ОС ви працюєте? Ubuntu? Якщо ви перейдете сюди - Ubuntu Start up
— slotishtype

З цікавості, чому програму потрібно запускати як root?
— Стівен Дженнінгс

Додаток потрібно запустити як root, щоб запобігти спробам вбити користувачів. Вони можуть вбити своїх, але як корінь, вони не можуть його вбити.
— Stiny861

Відповіді:


1

Якщо це графічний логін, зв’яжіть програму в ~ root / Desktop / Autostart /. Якщо це вхід в оболонку, ви можете помістити команди в ~ / .login, і це буде викликано. Але це, як правило, небезпечно робити, і обов'язково враховуйте, як програма буде зупинена, що відбувається, коли користувач (root) не раз реєструється та ін.


0

Ви можете зробити сценарій оболонки setuid (так він завжди працюватиме як власник файлу, який буде root), але це дуже небезпечно. Існують наслідки для забезпечення налаштування скриптів оболонки .

Сценарій виглядатиме приблизно так:

#!/bin/sh -
open /Applications/Whatever.app

Тепер зробіть сценарій встановленим із Терміналу:

sudo chown root file.sh
sudo chmod 4755 file.sh

Перша команда заставляє root власника файлу. Другий визначає його як встановлений, читає / записує / виконує його власник і читає / виконує всі інші.

Потім у Mac OS X перейдіть до системних налаштувань → Облікові записи та додайте скрипт оболонки як елемент входу для користувача. Тепер кожного разу, коли користувач увійде в систему, скрипт буде викликатися, а оскільки він встановлений, він повинен працювати як root.

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.