開こうとすると、crontab
次の出力が表示されます。
ubuntu@macaroon:~$ crontab -l
crontabs/ubuntu/: fopen: 権限が拒否されました。
しかし、sudo
これを追加するとうまく開き、そこで作業しても機能しません。
ubuntu@macaroon:~$ sudo crontab -l
# Edit this file to introduce tasks to be run by cron.
# omitted such info
* * * * * /usr/bin/env python3 /home/ubuntu/main.py date >> ~/main_script_cronjob.log
このマシンには何が欠けていますか?この動作を修正する方法
他のコンピュータはcrontab
通常のコマンドを使用するとうまく動作するのでsudo
。
ここではいくつかの回避策を実行する必要があります。
sudo crontab -u Ubuntu -e
これにより、crontab
Ubuntuユーザーには正しく開きます。
修正する:
詳細については、追加情報crontab
:
ubuntu@macaroon:~$ ls -l /usr/bin/crontab
-rwxrwxrwx 1 root crontab 39568 Mar 23 2022 /usr/bin/crontab
ubuntu@macaroon:~$ sudo namei -l /var/spool/cron/crontabs/ubuntu
f: /var/spool/cron/crontabs/ubuntu
drwxr-xr-x root root /
drwxr-xr-x root root var
drwxr-xr-x root root spool
drwxr-xr-x root root cron
drwx-wx--T root crontab crontabs
-rw------- ubuntu root ubuntu
Dockerコンテナではありません。物理的な機械です。
ベストアンサー1
コマンドがcrontab
権限を失いました。たとえば、私の(Raspbian)システムの権限には、次のものが含まれます。設定crontab
(s
グループ権限ビット):
-rwxr-sr-x 1 root crontab 30452 Feb 22 2021 /usr/bin/crontab
ls -l /usr/bin/crontab
問題のシステムで実行し、結果を質問に追加することでこれを確認できます。欠落しているsetgidビットを修正する方法は次のとおりです。
sudo chmod u=rwx,go=rx,g+s /usr/bin/crontab
(私はシンボル値を好みます:User = rwx、Group、Others = rx、Group + setgid。8進数も使用できます2755
。)
また、Dockerで実行しようとすると、通常はデフォルトで権限が削除されますので、お知らせください。