ユーザーxはこのプログラム(crontab)を使用できません


9

Ubuntu 14.04

サービス(ログインなし)アカウント(という名前curator)のcrontabを設定したときの動作を理解できません。

rootとしてログインすると、次のようになります。

# crontab -u curator -l
The user curator cannot use this program (crontab)

しかし、ユーザーのアカウントに切り替えると、正常に機能します。

# su -s /bin/bash curator
curator@host$ crontab -l
no crontab for curator

空の/etc/cron.allowファイルがあり/etc/cron.deny、システムにファイルがありません。によるとman crontab

/etc/cron.allowファイルが存在する場合、このコマンドを使用できるようにするには、そこにリストされている必要があります(1行に1ユーザー)。/etc/cron.allowファイルは存在しないが、/ etc / cron.denyファイルは存在する場合、このコマンドを使用するには、/ etc / cron.denyファイルにリストされていてはなりません。

最初のコマンドを実行しているときのエラーを理解しましたcrontabが、ユーザーのアカウントに明示的に切り替えたときに実行できるのはなぜですか?

にユーザーを追加すると/etc/cron.allow、両方のコマンドが正常に動作します。


1
crontabはないというだけです。crontab -e(ユーザーキュレーターとして)経由で作成しようとするとどうなりますか?
フィクシーマン2016

1
vagrant trusty64イメージではこの問題を再現できません。空とcron.allowファイルの両方root crontab -u vagrant -lcrontab -lようvagrantで、結果are not allowed to use this program(あなたが引用するメッセージが異なる)のメッセージ。
2016

回答:


11

私はcrontabのソースを確認し、ユーザーが/etc/cron.allow(たとえばの後でchmod 0 /etc/cron.allow)開くことができない場合、crontabはユーザーがそれを使用することを許可されていると考えます(cron.allow存在しないかのように)。

ただし、rootは任意のファイルを読み取ることができるため、crontabチェックコードは期待どおりに機能します。ですから/etc/cron.allow、の最初の権限、そしておそらくSELinux / AppArmorの監査ログを確認することをお勧めします。


これはそれのようです- chmod -r /etc/cron.allow実際に私の説明した動作がUbuntu 14.04システムで発生することを確認しました
Steeldriver '27 / 07/17

見つけて!私の/etc/cron.allow許可は600644両方に変更してメッセージrootcurator見た後、not allowed to use this program (crontab)でした。次に、両方に追加curatorした後、/etc/cron.allowキュレーターのcrontabを使用できます。
Adam Michalik 2016
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.