出来事・やったこと
- inotifywait を使った observer のスクリプトの改良をしていた
crontab -e
で直接 cron の設定ファイルを変更しても制限時間内は自動的に設定が元に戻るようになった- cron の設定を直接変更しようとしているのをどうやって監視すれば良いのかちょっと悩んだんだけど、調べてみたらどうやら
/var/spool/cron/crontabs/
というディレクトリ配下にファイルがあるらしく、この中にあるファイルが crontab の設定と同期されていることがわかった - ファイルがあるなら、これをシンボリックリンクまたはハードリンクに変えてしまえば良いのではと思ったけど、それは試してみたけどダメだった
- 調べてみると、どうやら cron のセキュリティ機能で厳密にこのファイルをチェックしているらしく、シンボリックリンクやハードリンクに変えたり、このファイルを直接いじったりするとそれを検出して悪意のあるプログラムが cron の中身を改ざんしようとしているという判定になり cron が正常に動作しないようになっているらしい
- というわけで、このファイルの変更監視をし、もし変更されたら (つまり
crontab -e
で変更されたら)cron-apply
を実行するようにした - そして cron-conf のディレクトリの中の全ファイルも監視対象としたので、cron 設定用のファイルの中身も変更されたら
git restore
して自動的に元に戻るようにした - dnsmasq-conf のディレクトリの中も全部監視するようにした
- ただし private の中身はリポジトリが違っていて現状だと元に戻らないので、ここは対策する必要がある
- cron の設定を直接変更しようとしているのをどうやって監視すれば良いのかちょっと悩んだんだけど、調べてみたらどうやら
- ただこれ、穴があって、GitHub の Web UI から cron の設定を更新して
git pull
すると更新できてしまう- ローカルとリモートで cron 設定のファイルの中身が一致していないと
cron-apply
は更新をしないようになっていて、ローカルはファイル監視で変更ができないようになっているから問題ないと思っていたが、逆にリモートで変更してローカルに反映するということができるという発想が実装中は思いつかなかった - これはまた対策する必要がありそうだな……
- ちなみに、試しにリモートで変更して
git pull
したらこんなエラーが表示された
remote: Enumerating objects: 7, done. remote: Counting objects: 100% (7/7), done. remote: Compressing objects: 100% (4/4), done. remote: Total 4 (delta 3), reused 0 (delta 0), pack-reused 0 Unpacking objects: 100% (4/4), 725 bytes | 241.00 KiB/s, done. From github.com:noraworld/cron-conf 716387b..4df8069 main -> origin/main Updating 716387b..4df8069 error: Unable to create '/home/ubuntu/workspace/cron-conf/.git/index.lock': File exists. Another git process seems to be running in this repository, e.g. an editor opened by 'git commit'. Please make sure all processes are terminated then try again. If it still fails, a git process may have crashed in this repository earlier: remove the file manually to continue.
- でもこのあともう一度
git pull
したらふつうにできてしまったので結局これはぬか喜び
- ローカルとリモートで cron 設定のファイルの中身が一致していないと
- 「彼女、お借りします」のシーズン 2 (?) が始まっていたので観始めた
- 一応、前回の続きってことなんだけど、Prime Video 的にはそれぞれ別の作品みたいな感じで分かれていた (シーズンごとにまとまっていなかったし、両方ともシーズン 1 になっていた)
- 昨日の朝方、寝る前に Siri で遊んでいたらちょっとホラー要素があることに気づいた
- Siri の言ったことをオウム返しし続けていると、“Hey, does this thing have an echo?” と言うのだが、最後の “echo” の部分が 5 〜 6 連続で繰り返される
- ちょっとぞっとした
思ったこと・気づき・学び
- Google Meet での自習会のチャットログを日記に貼り付けて記録しておくと数日前に言ったけど、日記に貼り付けるんじゃなくて Google Drive に保存しておけば良いやということに気づいた
- ちょうど Google Meet の出席者のログが自動で Google Drive に保存されるので、それと同じフォルダにダウンロードしたチャットログのテキストファイルをアップロードしておけばデータとして管理しやすいかなと思った
- さっそく今日のチャットログも Google Drive にアップロードしておいた
- いつの間にか Google Drive の iPhone アプリがダークモードに対応していた
- 特に必要はなかったけどなんとなくアプリを開いたときに気づいた
睡眠記録
項目 | 内容 |
---|---|
寝たの | 8 時半過ぎ |
起きたの | 17 時前 |
スコア | 53 |
感想
- 昨日は 8 時まで YouTube Music 聞いてた
夢日記
- 付き合う夢を見た
- 何かの流れで一緒に映画を見にいくことになってそこから意気投合した
- そしてそのまま同棲した
- どうせ長くは続かないだろうと思いつつ、夢はそこで終わっている
- なんか寝ている間に Siri が話しかけてきた気がするけどあれは気のせいだよな…… 🤔
瞑想記録
項目 | 内容 |
---|---|
時間 | 10 分 |
集中できたか | 🤔 |
その後のパフォーマンスは上がったか | n/a |
感想
- 寝る前にちょっとだけやった
運動記録
- 腕立て伏せ 20 回
- スクワット 15 回
Atsueigo School
今日やったこと
- キク英文法 熟語の例文を全部メモした
- リスニング特講 3 (リスニングライブ)
明日やること
- キク英文法 ひたすら熟語覚える
- リスニング特講 3
学習時間
- キク英文法 3 時間 3 分
- リスニング特講 1 時間 8 分
感想
- 土曜日のリスニングライブの時間も勉強時間に含めることにした
- ちゃんと聞き取りや意味取り、発音練習もライブ中にしているし勉強時間に含めても良いでしょう
- もちろん今日のリスニングの時間はライブ中にやったもの
- 今日は Appendix にある熟語の例文を全部メモした!
- 今日中に全部メモしておきたかった (あとは覚えるためにひたすら発音するだけにしたかった) ので結構たくさん勉強した
えらい!
- 今日はたくさん英語勉強した!
気分レベル (10 段階)
8
今日の気分はどうだったか
- 楽
アンガーログ
- 特になし!
感謝日記
- 今日も Kyoko さんが自習会に参加してくれた 🙏
今日の挑戦
- cron & dnsmasq の変更制限をより強化した