Действительно ли возможно сделать файл Bash выполненным как корень в crontab? [закрытый]

Раздел 2 из этой статьи объясняет преобразование. В основном:

enter image description here

Здесь я сделал пример в Mathematica :

enter image description here

19
задан Peter Mortensen 10 January 2014 в 17:48
поделиться

6 ответов

Да, просто добавьте его в crontab пользователей root; запустите команду crontab -e .

Места, в которых cron хранит свои файлы, могут быть немного странными, поэтому используйте команду crontab -e , чтобы убедиться, что они находятся в нужном месте , и я считаю, что он проверяет синтаксис.

20
ответ дан 30 November 2019 в 03:03
поделиться

Вы можете просто сделать

crontab -e

как root.

14
ответ дан 30 November 2019 в 03:03
поделиться

Просто укажите root в качестве пользователя для записи в / etc / crontab :

0 0 *  * *  root  somecommand

В качестве альтернативы вы также можете добавить команду в личную папку root. crontab, используя crontab -e как root.

7
ответ дан 30 November 2019 в 03:03
поделиться

В любом случае вам понадобится доступ к учетной записи пользователя root.

  1. вы можете добавить ее в корневой crontab, как было предложено
  2. , вы можете использовать sudo, как было предложено
  3. вы можете использовать бит setuid. Проблема с битом setuid в том, что это должна быть скомпилированная программа. Если он скомпилирован, вы можете выполнить команду chmod 4755 и установить владельцем файла как root, и он будет работать как root. Если он не скомпилирован, вы можете написать крошечную оболочку на C (или на любом другом скомпилированном языке программирования), которая просто вызовет ваш скрипт, и setuid на оболочке, и убедиться, что оболочка принадлежит пользователю root.

Мой совет? Используйте root crontab. Это то, для чего он нужен.

Кроме того, в crontab нет записи пользователя, как предлагает sth ... синтаксис следующий:

# .---------------- minute (0 - 59) 
# |  .------------- hour (0 - 23)
# |  |  .---------- day of month (1 - 31)
# |  |  |  .------- month (1 - 12) OR jan,feb,mar,apr ... 
# |  |  |  |  .---- day of week (0 - 6) (Sunday=0 or 7)  OR sun,mon,tue,wed,thu,fri,sat 
# |  |  |  |  |
# *  *  *  *  *  command to be executed

Если вы хотите ввести что-то в crontab как root, просто войдите в свою учетную запись root, "

5
ответ дан 30 November 2019 в 03:03
поделиться

Я считаю, что все записи в crontab root запускаются от имени пользователя root. Вы можете просто заставить его вызывать сценарий Bash в качестве действия, и он должен делать то, что вы хотите.

0
ответ дан 30 November 2019 в 03:03
поделиться

Один из способов сделать это (через sudo):

  1. Вам необходимо настроить sudo prilvileges для запуска учетной записи без ввода учетных данных пользователя
  2. Добавьте «sudo / path / to / command "(без"), чтобы запустить команду от имени пользователя root. Вы также можете добавить параметры к команде.
-2
ответ дан 30 November 2019 в 03:03
поделиться
Другие вопросы по тегам:

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