問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合
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ユーザのみが利用できるか、全てのユーザが利用できる」になると思います。
> 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ユーザのみが利用できるか、全てのユーザが利用できる」になると思います。
投稿ツリー
-
問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合
(tnishita2, 2021-4-29 9:06)
-
Re: 問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合
(hanajiro, 2021-6-10 16:09)
- Re: 問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合 (tnishita2, 2021-6-10 19:51)
-
Re: 問題ID : 4904, 5134 : /etc/cron.allow, /etc/cron.deny が両方ない場合
(hanajiro, 2021-6-10 16:09)