web-dev-qa-db-ja.com

/ etc / crontabの権限

/etc/crontabファイルには権限があります:

-rw-r--r--

このファイルはシステムcronジョブ用であり、他のユーザーにはそれを変更する権限がないことを理解しています現在の権限により、すべてのユーザーがファイルへの読み取りアクセスを許可され、コンテンツを表示できるようになります。

すべてのユーザーが/etc/crontabを読めるようにする必要がありますか?すべてのユーザーがいくつかの管理コマンドを知っているべきではないと私は信じているので、権限を-rw-r-----に変更した方がいいのではないでしょうか?

CentOSの許可文字列を使用しましたが、他のディストリビューションではテストしていません。

5
Sam

これは、隠すことによるセキュリティになります。通常のユーザーが/etc/crontabを読まないようにすることによる実際の利点はありません。ユーザーがファイルを読み取れない場合でも、psでプロセスリストを定期的にキャプチャするか、/procを読み取るだけで、実行されたコマンドを収集できます。

あるはず 番号 コマンドラインで資格情報を入力する場合を除き、一部の管理コマンドを非表示にする必要があります。ただし、通常のユーザーはコマンドラインを読み取ることができるため、資格情報をコマンドラインに入力しないでください。そのため、本当のメリットはありません。

PIDリークを防止するprocfsだけでなく、PIDリークを防止するgrsecなどのカーネルモジュールの mountオプション/カーネルパッチ があります。

ファイルシステムを読み取り可能にすることの利点は、root以外のユーザーとしてシステムをルック/デバッグできることです。システムのcrontabを確認するためだけにrootユーザーに切り替える必要はありません。

6
Ulrich Dangel

/etc/crontabはメインです-crontab-cron.daily、weekly、...

したがって、ユーザーが毎日/毎週などが実行されている時期を知りたい場合、ユーザーはそれを確認できるはずです(CentOSでの固定時間、SLESでのシステムブートからの相対時間)。

ただし、実際のルートジョブは/etc/cron.d/specialtime_user/etc/cron.daily/*などに配置するか、/var/spool/cron/rootに配置します。前者は時々少し奇妙です-アクセス権に関して(私はそこでファイルにもっと制限的な権利を設定しようとしたSLESでそれを見つけました)-後者はrootによってのみ読めるはずです。

2
Nils