[第23回] サーバー接続を許可し削除コマンドを止める — QueryPieコマンド制御
2026年11月9日
前回はパスワードを渡さず開発者がWeb接続した。今回は接続後の実行コマンドを制限した。
アカウントとファイル内容は確認できるが、rm削除は使えないようにする。実習ファイル一つとCommand Templatesを用意した。
制限コマンドをテンプレートへ登録する
Servers → Server Access Control → Command TemplatesでLab - Block Deleteを作成した。
Base Type Denyは一覧の項目を制限し、それ以外を許可する方式だ。Commands (SSH)のKeywordにrmを入力して登録した。

何を止めるかが明確で、点検に必要なコマンドを維持しつつ制限対象だけを定められた。
既存SSHロールへ制限をつなぐ
第22回のOperations Lab SSH Policyでグループ、labops、SSHを維持し、actionsのcommandsRefへLab - Block Deleteを指定した。

Demo DeveloperのOperations Lab Operatorに接続済みのポリシーだ。ユーザー再作成やアカウント変更なしで規則を追加し、理由を記載して保存した。
新規接続でも確認コマンドは使える
Demo DeveloperがOperations Lab OperatorでSSH Operations Labへ再接続し、従来どおりlabopsのWebターミナルを開いた。

whoamiはlabops、pwdは/home/labops。ls -l /home/labops/delete-demo.txtで131バイトのファイルを確認した。

制限後も確認作業は続けられた。次に同じファイルを削除してみる。
削除は止まり、ファイルは残る
rm /home/labops/delete-demo.txtで[QueryPie] Restrictedと出て、ポリシーによる制限と案内された。

ls -lでは名前と131バイトが変わらず、catでも元の実習文が正常に表示された。

制限後も接続は維持され確認を続けられた。接続全体を止めず、同じ接続内で許可作業と制限コマンドを分けられた。
監査にも遮断の区別が残る
Audit → Servers → Command AuditでDemo Developerを検索すると、入力コマンドが時系列で並んだ。

03:59:26のrmはNo.12、Restricted、Restricted Command rmと記録され、前後のls・catはNot Restrictedだった。
入力内容だけでなく制限されたかも確認でき、作業者の画面提供だけに頼らず管理者が調べられた。
誰がどのロールで試したかも確認する
rmの詳細にはDemo Developer、Operations Lab Operator、labops、対象、時刻、Web経由があった。

接続後のコマンドもロールで決められた。同じlabopsで読めても、登録したrmはQueryPieが制限し、ファイルと監査記録が残った。
サーバー点検を任せつつ特定操作を止めたい場合に役立ちそうだ。担当者は必要な確認を続け、管理者は規則と履歴を併せて管理できる。
次はこのターミナルの録画を開き、コマンドだけでなく当時の画面も追う予定だ。
QueryPie Community 11.6.7と別Ubuntuで実施した。削除対象は実習用テキストだ。
参考: Command Templates · サーバーアクセスポリシーの設定 · Command Audit
![[第22回] サーバーパスワードを入力せずSSH接続する — QueryPie Webターミナル](/assets/content/acp-lab-notes/web-terminal/01.webp)
![[第24回] サーバー作業を再生して確認する — QueryPieセッション録画](/assets/content/acp-lab-notes/session-recording/01.webp)