さくら VPS に Fedora 38 をインストールする
Fedora 38 をインストールしました。設定上の変更点は以下のとおりです。
ssh ログイン時に Touch ID で認証する方式に切り替え
Secretive を導入し、 ssh ログイン時に Touch ID で認証する方式にしました。秘密鍵が漏洩する心配がないので、セキュアな運用ができます。Kickstart で OS をインストールする際に、公開鍵を authorized_keys
に登録しておけば、OS インストール直後から Touch ID でログインできます。Fedora 37 の時に運用を切り替えて、Fedora 38 へのアップグレード(再インストール)までのサイクルで特に問題は生じていないので、運用上、問題なさそうです。
一方で、自動処理がしたい場合(rsync による定期バックアップなど)はこの方式は向かないので、自動処理が必要なケースは実行できるコマンドを制限した上で、従来の鍵交換としています。
最大の難点はコストです。あの Apple 純正のキーボードは高すぎます。一回買うだけなら値段は目をつぶるとしても、ユーザ交換不可の内蔵バッテリのため、大切に使っていても定期的にキーボードを購入させられるのは、Apple 商法にハメられてる感がします。
Fedora 37 からの非互換あれこれ
いくつか非互換がありました。いずれも小さな問題で解決策ありです。
SYSTEMD_EDITOR
から sed
を呼び出した際、-i
オプションが正しく動作しない
vi
などの対話的なエディタを起動させずに、だいぶ無理矢理な方法で、systemd の設定ファイルを書き換えていましたが、できなくなりました。
# cat << EOF | SYSTEMD_EDITOR='sed -i -f /dev/stdin' systemctl edit monit.service 4i [Service]' 4i RuntimeDirectory=monit' 4i RuntimeDirectoryMode=0775' EOF sed: +4 を読み込めません: そのようなファイルやディレクトリはありません (editor) failed with exit status 2. #
sed
を使うのをやめて、
tee
に変更しました(こちらの方がシンプル)。
# cat << EOF | SYSTEMD_EDITOR=tee systemctl edit monit.service [Service]' RuntimeDirectory=monit' RuntimeDirectoryMode=0775' EOF #
firewall-cmd
で複数ゾーンの指定ができない
Fedora 37 (firewalld 1.2.5)までは、以下のような書き方ができていましたが、Fedora 38(firewalld 1.3.1)では不可になりました。
# firewall-cmd --permanent --zone={dmz,trusted} --add-service=ssh
面倒ですが、次のように書き直せば OK です。
# firewall-cmd --permanent --zone=dmz --add-service=ssh # firewall-cmd --permanent --zone=trusted --add-service=ssh
なお、サービスは以下のように複数指定しても大丈夫です。
# firewall-cmd --permanent --zone=public --add-service={smtp,http,https}
uname -i
と uname -p
が unknown
を返す
代わりに -m
を使えば OK です。
-i
と -p
はマニュアルに「移植性なし」と記載がありますが、まさか後方互換性までなくなるとは思ってなかったです。コマンドのバージョンは変わって(9.1 のまま)いないので、カーネル側が返す情報が変わったようですね。
opendkim
がデフォルトで opendkim.pid
を作らない設定になった
/etc/opendkim.conf
の PidFile
の設定がコメントアウトされているので、解除すれば OK です。