Solaris のシステム管理 (第 2 巻)

at へのアクセスの制御

at.deny ファイルに含まれているユーザーは、at を使用してジョブをスケジュールすることも、at 待ち行列の状態を調べることもできません。

at.deny ファイルは、Solaris ソフトウェアのインストール時にディレクトリ /etc/cron.d に格納されます。そのときに、同じユーザーがこのファイルとデフォルトの cron.deny ファイルの両方に含まれます。

daemon
bin
smtp
nuucp
listen
nobody
noaccess

このファイルを編集するには、スーパーユーザー特権が必要です。

at へのアクセスを拒否する方法

  1. スーパーユーザーになります。

  2. エディタを使用して、/etc/cron.d/at.deny ファイルを開きます。

  3. たとえば次のように、at コマンドを使用させないようにするユーザー名を 1 行に 1 つずつ追加または削除します。

    daemon
    bin
    smtp
    nuucp
    listen
    nobody
    noaccess
    username1
    username2
    username3
    .
    .
    .
  4. /etc/cron.d/at.deny ファイルを閉じて、変更結果を保存します。

例 - at へのアクセスを拒否する

次は、ユーザー smithjonesat にアクセスできないように編集された at.deny ファイルの例です。

$ cat at.deny
daemon
bin
smtp
nuucp
listen
nobody
noaccess
jones
smith

at アクセスの拒否を確認する方法

特定のユーザー名が正しく /etc/cron.d/at.deny に追加されているかどうかを確認するには、そのユーザー名でログインして、at -l コマンドを使用します。そのユーザーが at コマンドにアクセスできない場合は、次のメッセージが表示されます。

# su smith
Password:
$ at -l
at: 使用許可されていません

同様に、そのユーザーが at ジョブの実行を依頼しようとした場合は、次のメッセージが表示されます。

$ at 2:30pm
at: 使用許可されていません

これで、そのユーザーが at.deny ファイルに含まれていることが確認されます。