Як запустити роботу cron як конкретного користувача?


15

У мене є кілька команд, які я хочу виконати після завантаження машини. Користувачеві не слід входити в систему або нічого, щоб він не працював.

Я знайшов цю чудову відповідь, пропонуючи crontab з @rebootключовим словом, однак це запуститься як root, і я хотів би працювати як конкретний користувач, створений для цих "служб" (не фактичних системних служб).

Які способи досягти такого ж ефекту з будь-яким користувачем?


Спробуйте запустити "$ su [ім'я користувача] [команда]"
LittleByBlue

Відповіді:


26

Ви можете створити кронтаб для конкретного користувача так:

crontab -u <username> -e

Або, простіше кажучи, ви можете просто запуститись, crontab -eколи увійшли як користувач.

Крім того, ви можете префіксувати свою команду у вашій (root) crontab, sudo -u <username>щоб запустити команду як вказаний користувач.


Дякую, я не зміг змусити його працювати з ними. Але я зараз бачу, що я можу створити кронтаб для будь-кого. Команди закінчуються добре, як корінь із судо. Я не знав, що я можу там використовувати судо (очікував, що не вдасться чекати пароля).
Луї

2
@Louis sudoне вимагає пароля, коли ви викликаєте його як root. В основному ви не отримуєте дозволів, але відмовляєтесь від них.
kraxor

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