Oracle® Solaris 11.2 でのシステム情報、プロセス、およびパフォーマンスの管理

印刷ビューの終了

更新: 2014 年 9 月
 
 

crontab コマンドの使用制御

/etc/cron.d ディレクトリ内の cron.denycron.allow の 2 つのファイルを使用して、crontab コマンドの使用を制御できます。これらのファイルによって、指定したユーザーだけが、それぞれ自分の crontab ファイルの作成、編集、表示、または削除などの crontab コマンドのタスクを実行できるようにします。

cron.deny ファイルおよび cron.allow ファイルは、それぞれ 1 行に 1 ユーザー名が入ったリストからなります。

    これらの使用制御用ファイルは、次のように連携して機能を果たします。

  • cron.allow が存在する場合は、このファイルにリストされているユーザーだけが crontab ファイルを作成、編集、表示、または削除できます。

  • cron.allow が存在しない場合は、cron.deny にリストされているユーザーを除くすべてのユーザーが crontab ファイルを送信できます。

  • cron.allowcron.deny も存在しない場合、crontab コマンドを実行するには、root 役割になる必要があります。

  • cron.deny および cron.allow ファイルを編集または作成するには、root 役割になる必要があります。

Oracle Solaris ソフトウェアのインストール時に作成される cron.deny ファイルには、次のユーザー名が含まれます。

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess

デフォルトの cron.deny ファイル内のユーザー名は、いずれも crontab コマンドを使用できません。このファイルを編集して、crontab コマンドの使用を拒否したいユーザーを追加できます。

デフォルトの cron.allow ファイルが指定されていないため、デフォルトの cron.deny ファイルに一覧表示されているユーザーを除くすべてのユーザーが crontab コマンドを使用できます。cron.allow ファイルを作成した場合、そのユーザーだけが crontab コマンドを使用できます。

crontab コマンドの使用を拒否する方法

  1. root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. /etc/cron.d/cron.deny ファイルを編集し、crontab コマンドの使用が拒否されるユーザーの名前を 1 行ずつ追加します。
    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .
  3. /etc/cron.d/cron.deny ファイルに新しいエントリが含まれているか確認します。
    # cat /etc/cron.d/cron.deny
    daemon
    bin
    nuucp
    listen
    nobody
    noaccess

crontab コマンドの使用を特定のユーザーに限定する方法

  1. root 役割になります。

    Oracle Solaris 11.2 でのユーザーとプロセスのセキュリティー保護 の割り当てられている管理権利の使用を参照してください。

  2. /etc/cron.d/cron.allow ファイルを作成します。
  3. root 役割を cron.allow ファイルに追加します。

    このファイルに root を追加しないと、crontab コマンドへの root アクセスが拒否されます。

  4. crontab コマンドの使用を許可するユーザーの名前を 1 行ずつ追加します。
    root
    username1
    username2
    username3
    .
    .
    .
使用例 4-6  crontab コマンドの使用を特定のユーザーに限定する

次は、ユーザー jonestemp、および visitorcrontab コマンドを使用させない cron.deny ファイルの例です。

$ cat /etc/cron.d/cron.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
temp
visitor

次の例は、cron.allow ファイルを示しています。ユーザー rootjones、および smith だけが、crontab コマンドを使用できます。

$ cat /etc/cron.d/cron.allow
root
jones
smith

crontab コマンドの使用制限を確認する方法

特定のユーザーが crontab コマンドを使用できるかどうかを確認するには、そのユーザーのアカウントでログインして crontab -l コマンドを使用します。

$ crontab -l

そのユーザーが crontab コマンドを使用できて、すでに crontab ファイルを作成している場合は、そのファイルが表示されます。そのユーザーが crontab コマンドを使用できるが、crontab ファイルがない場合は、次のようなメッセージが表示されます。

crontab: can't open your crontab file

このユーザーは、cron.allow ファイル (が存在する場合) に含まれているか、cron.deny ファイルに含まれていません。

ユーザーが crontab コマンドを使用できない場合は、上記の crontab ファイルの有無にかかわらず、次のメッセージが表示されます。

crontab: you are not authorized to use cron. Sorry.

このメッセージは、ユーザーが cron.allow ファイル (が存在する場合) に含まれていないか、cron.deny ファイルに含まれていることを意味します。