zsh: use sudo inside o4-sops-machine-key-*

This commit is contained in:
2026-05-17 11:49:57 +08:00
parent 39e8a220d8
commit 77892cff01
+9 -12
View File
@@ -73,29 +73,26 @@ O4_SOPS_MACHINE_KEY_DIR="/var/lib/sops-nix"
O4_SOPS_MACHINE_KEY_FILE="$O4_SOPS_MACHINE_KEY_DIR/key.txt"
o4-sops-machine-key-init () {
# check sudo
if [[ $EUID -ne 0 ]]; then
echo "require root" >&2
return 1
fi
# use sudo echo "require sudo" to get sudo
sudo echo "require sudo" > /dev/null
# check folder and file
local key_dir="$O4_SOPS_MACHINE_KEY_DIR"
local key_file="$O4_SOPS_MACHINE_KEY_FILE"
mkdir -p $key_dir
sudo mkdir -p $key_dir
if [[ -f "$key_file" ]]; then
echo "key exists: $key_file" >&2
return 1
fi
# keygen
install -d -m 0700 -o root -g root $key_dir
age-keygen -o $key_file
chmod 0400 $key_file
age-keygen -y $key_file
sudo install -d -m 0700 -o root -g root $key_dir
sudo age-keygen -o $key_file
sudo chmod 0400 $key_file
sudo age-keygen -y $key_file
# print pub key
grep "^# public key: " $key_file | cut -d ' ' -f 4
sudo grep "^# public key: " $key_file | cut -d ' ' -f 4
}
o4-sops-machine-key-print-pubkey () {
@@ -105,6 +102,6 @@ o4-sops-machine-key-print-pubkey () {
return 1
fi
grep "^# public key: " $key_file | cut -d ' ' -f 4
sudo grep "^# public key: " $key_file | cut -d ' ' -f 4
}