2.1 KiB
2.1 KiB
Arch LinuxでのClaude Code安全利用ガイド
推奨セットアップ
1. systemd-nspawnコンテナ(最も推奨)
# インストール
sudo pacman -S arch-install-scripts systemd-container
# コンテナ作成
sudo mkdir -p /var/lib/machines/claude-sandbox
sudo pacstrap -c /var/lib/machines/claude-sandbox base base-devel git nodejs npm python
# コンテナ起動
sudo systemd-nspawn -bD /var/lib/machines/claude-sandbox
# ホストディレクトリをバインド
sudo systemd-nspawn -bD /var/lib/machines/claude-sandbox \
--bind-ro=/home/$USER/projects:/projects
2. Firejailサンドボックス
# インストール
sudo pacman -S firejail
# 基本的な使用
firejail --noprofile --private claude
# より厳格な設定
firejail --noprofile --private --noroot --nosound --no3d claude
3. 安全なpacmanフック
/etc/pacman.d/hooks/claude-safety.hook
:
[Trigger]
Operation = Install
Operation = Upgrade
Operation = Remove
Type = Package
Target = *
[Action]
Description = Claude Code安全チェック
When = PreTransaction
Exec = /usr/local/bin/claude-pacman-check.sh
4. ZFSまたはBtrfsスナップショット
# Btrfsの場合
sudo btrfs subvolume snapshot -r / /.snapshots/$(date +%Y%m%d-%H%M%S)
# 自動スナップショット
sudo pacman -S snapper
sudo snapper -c root create-config /
sudo snapper -c root create --description "Before Claude Code"
5. 監査とロギング
# auditdで監視
sudo pacman -S audit
sudo systemctl enable --now auditd
# 特定のコマンドを監査
sudo auditctl -a always,exit -F path=/usr/bin/rm -F perm=x
Claude Code設定
~/.claude/settings.json
:
{
"hooks": {
"before_bash": "/usr/local/bin/claude-arch-safety-check.sh"
}
}
緊急時の復旧
-
Btrfsスナップショットから復元
sudo btrfs subvolume list / sudo btrfs subvolume set-default <ID> /
-
systemd-nspawnコンテナのリセット
sudo rm -rf /var/lib/machines/claude-sandbox # 再作成
-
パッケージの整合性チェック
sudo pacman -Qkk