ユーザーごとに異なるcrontabを使用する目的は何ですか?

ユーザーごとに異なるcrontabを使用する目的は何ですか?

呼び出されたスクリプトの権限を制御するためのものですか、それともスクリプトが実行されるのか、それが実行されるのかに影響しますか? root以外のユーザーに対してcronを設定した場合は、再起動後にそのユーザーとしてログインしていない場合でも常に実行する必要があるとします。そうですか?

答え1

Unixは、もともと複数の人が同じ物理コンピュータを使用するマルチユーザーシステムとして設計されていたことを覚えておいてください。 (今日とは異なり、ほとんどのUnixシステムは脆弱性を制限するために複数のユーザーアカウントで1人だけを使用します。)

したがって、ユーザー固有のcrontabの元の目的は、すべての人が定期的に実行したいタスクをスケジュールできるようにすることでした(システムcrontabの編集権限を付与して、他のすべての人の作業を中断することなく)。しかし、今は主にタスクの実行権限を制御するためにのみ使用されます。

はい、crontabが保存されると、そのユーザーがログインしているかどうか(またはログインしたことがあるかどうかに関係なく)ジョブが実行されます。デフォルトのcronデーモンは、ユーザー固有のcrontabとシステムcrontabを実行します。

答え2

また、root以外のcrontabのジョブはこのユーザーとして実行されます。/etc/crontabおよび/etc/cron.d等。ディレクトリにいる間、/etc/cron.dailyシステム管理者には追加のエントリがあるため、タスクを実行するユーザーアカウントを選択できます。

からman 5 crontab

   The format of a cron command is very much the V7 standard,  with
   a  number  of  upward-compatible extensions.  Each line has five
   time and date fields, followed by a user name  if  this  is  the
   system  crontab  file, followed by a command.

答え3

デフォルトでは、権限のないユーザーはcronジョブを実行できます。はい、定期的なタスクを実行するにはクローン操作が必要です。はい、再起動後も持続します。

「定期的に永遠に」意味が望ましくない場合、at / batchは同様の機能を提供します。

関連情報