問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合

この質問の投稿一覧へ

なし 問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合

msg# 1
depth:
0
前の投稿 - 次の投稿 | 親投稿 - 子投稿.1 | 投稿日時 2021-4-29 9:06 | 最終変更
tnishita2  長老   投稿数: 123
主に問題ID : 4904, 5134についてですが、4597, 4875, 4876, 4877, 4878, 4905, 5058の「参考」にも関係します。なお手元の確認環境はUbuntu 20.04です。解説に

> 1. 「/etc/cron.allow」ファイルがあれば、記述のあるユーザのみが利用可能
> 2. 「/etc/cron.allow」ファイルがなければ、「/etc/cron.deny」を参照し、そこに記述のないユーザが利用可能
> 3. 両方のファイルがなければ、rootユーザのみが利用可能

とあります。at, at.allow, at.deny に対してなら(問題ID : 4905)、man at.allow にも

> If neither exists, only the superuser is allowed to use at.

と書かれており、正しいです。しかしcron ではman crontab に

> If neither of these files exists, then depending on site-dependent configuration parameters, only the super
user will be allowed to use this command, or all users will be able to use this command.

とあり、「rootユーザのみが利用できる」「全てのユーザが利用できる」のどちらか一方を正解とすることはできません。実際、ping-t の参考にも

> なお、UbuntuなどのDebian系では「どちらも存在しない場合は全てのユーザーが利用可能」となります。

とあります。なお参考URL の

http://www.ibm.com/developerworks/jp/linux/library/l-job-scheduling.html#d

はリンク切れですが、

https://web.archive.org/web/20200131234327/http://www.ibm.com/developerworks/jp/linux/library/l-job-scheduling.html

には「もしどちらのファイルも存在しない場合には、このコマンドを使えるのはスーパー・ユーザーのみです。」とあります。しかしこれはこの記事が誤っていると思います。

https://access.redhat.com/documentation/ja-JP/Red_Hat_Enterprise_Linux/6/html/Deployment_Guide/ch-Automating_System_Tasks.html#s2-autotasks-cron-access

にはcron.allow, cron.deny 両方が存在しない場合の動作は言及がありません。

まとめると、(ディストリビューション/設定依存の動作を出題すること自体はともかくとするなら、)正解の選択肢は「ディストリビューション/設定により異なる」や「rootユーザのみが利用できるか、全てのユーザが利用できる」になると思います。

投稿ツリー

  >フォーラム検索へ


Copyright (c) 2020 Ping-t All rights reserved.