使い方
- app.service
ユニットを貼る(.service)
- 設定とセクション行番号つき
設定の表と指摘
- app.service(ひな形)再読み込み
ひな形を作って保存
ユニットファイルの内容を貼り付けるか、ファイルをドロップします。「サンプルで試す」でも動作を確認できます。
「設定」で、セクションごとの設定と各設定の意味を確かめます。硬化(hardening)の提案もここに出ます。
「指摘」で重要度つきの一覧を見ます。ExecStart の書き間違いや root で動く設定は高・中、そのほかは低です。
「ひな形を作る」で Web アプリか定期実行の unit を作れます。実行ユーザー・パス・時刻を埋めて保存します。
ユニットを書き換えたら systemctl daemon-reload を実行してから、サービスを再起動してください。
できること
セクションごとの設定と意味
[Unit]・[Service]・[Install]・[Timer]・[Socket] のセクションごとに、設定名と値を表にし、各設定の意味を短く表示します。一覧にない設定名は未知として出します。
セクション違いと綴りの誤り
ExecStart を [Unit] に書くなど、その設定が効かないセクションを指摘します。Restartsec のような綴りの違いは、正しい名前の候補もあわせて示します。
起動の書き方の確認
Type と ExecStart の組み合わせ(oneshot 以外で複数の ExecStart など)、絶対パスでない実行ファイル、User の無い service、WantedBy の無い [Install] を指摘します。
再起動の設定の確認
Restart と RestartSec の組み合わせ、StartLimitIntervalSec=0 で再起動の上限が無効になっているかを確かめます。
硬化の提案と、ひな形の作成
NoNewPrivileges・ProtectSystem・ProtectHome・PrivateTmp などの未設定を一覧にします。Web アプリと定期実行(timer)のひな形を作ります。
こんなときに
- Web アプリを常駐させる service を書いたが、ExecStart を置く場所や User の指定が正しいか確かめたい
- cron の代わりに systemd timer で定期実行したいので、.timer と .service の形を作りたい
- 既存の root で動く service に、NoNewPrivileges や ProtectSystem などの硬化を足せるか確かめたい
- Restart を付けたのに再起動が止まらない(StartLimit の指定)ことがないか確かめたい
対応状況
| 機能 | 対応 | 補足 |
|---|---|---|
| .service・.timer・.socket の読み取りと設定の表示 | 対応 | — |
| セクション違い・綴りの誤り(一覧にある設定名) | 対応 | — |
| Type・ExecStart・User・WantedBy・Restart の基本的な確認 | 対応 | — |
| 硬化の設定の有無(一覧にある 11 項目) | 一部対応 | 設定されているかだけを見ます。効き方や相性は確かめません |
| ひな形(Web アプリ・定期実行)の作成 | 対応 | — |
| systemd-analyze verify・security の代わり | 非対応 | 代わりにはなりません。実行ファイルの存在・権限・依存先は確かめません |
| ユニットの適用・起動・enable、systemctl の実行 | 非対応 | 実行しません。通信もしません |
| drop-in(.d)やテンプレート(@)の展開 | 非対応 | 展開せず、貼り付けた 1 つのファイルだけを見ます |
制限・注意事項
- 入力は 100,000 文字・2,000 行まで。超えた分は読み止めて通知します。
- 設定名は一覧にあるものだけを確かめます。一覧にない正しい設定も「未知」と出ることがあります。
- 硬化の提案は、設定されているかを見るだけです。動作を変えるので、試してから入れてください。
- 指摘は systemd の man に沿う項目だけです。systemd のバージョンによって、既定値や設定名は変わることがあります。
プライバシーと安全性
貼り付けたユニットファイルは、お使いの端末の中だけで処理されます。サーバーへ送信・保存されることはなく、ブラウザにも保存しません。使用状況の記録に内容やファイル名は含めません。
よくある質問
service の書き方で最低限必要なものは何ですか?
ユニットを変えたのに反映されません。
Restart=always と StartLimit の関係は?
cron と systemd timer のどちらを使うべきですか?
硬化の設定はそのまま入れてよいですか?
関連ツール
nginx Config Studio
リバースプロキシ・SPA・PHP-FPM・HTTP から HTTPS への転送などの設定をフォームから作り、手元の nginx.conf を貼ると構文エラーや見落としやすい点を一覧にします。ブラウザの中だけで動き、nginx は実行しません。
Docker Compose Studio
docker run のコマンドを compose.yaml に、compose.yaml を docker run に変換します。compose.yaml は構文・Compose Specification・よくある誤りを調べ、セキュリティ上の確認点も一覧にします。コンテナの起動やイメージの取得はせず、入力は端末の外へ送りません。
.env スタジオ(.env Studio)
.env を貼る・ドロップすると、キーと値を表で確認でき、重複・空の値・書式の誤りを行番号つきで指摘します。値は既定で伏せ、.env と .env.example を比べたり、.env.example・Kubernetes の Secret に書き出したりできます。.env の書き方(dotenv 形式)を確かめたいときに使い、docker compose の変数展開などツール固有の細かい仕様までは判定しません。
Apache Config Studio
.htaccess・httpd.conf・VirtualHost を貼ると、セクションの構造を木で表示し、閉じ忘れ・未知の指令・公開しすぎの設定を行番号つきで指摘します。https 転送・www の統一・HSTS の書き方の雛形も作れます。
Caddyfile Studio
Caddyfile を貼ると、サイトブロック・スニペット((name) と import)・matcher(@name)の一覧を木で表示し、括弧の不一致や定義されていない参照を行番号つきで指摘します。リバースプロキシ・静的サイト・SPA・www の転送の雛形も作れます。
hosts スタジオ(Hosts Studio)
hosts ファイルを貼り付けると、IP とホスト名の一覧を表にし、IP の形式の誤り・重複・localhost の書き換えを行番号つきで指摘します。書式(IP と空白で区切ったホスト名、# のコメント)を確かめるためのツールで、名前解決の結果や、OS へ保存する操作は行いません。保存は書き出したファイルを、管理者権限で OS の hosts の場所に置いてください。
最終更新: