From ab6901cf4bdd30c1e3e802f6ef92f4f9d446f23e Mon Sep 17 00:00:00 2001 From: Martin Date: Tue, 31 Mar 2026 12:17:42 +0200 Subject: [PATCH] feat(nfs): add root_squash option per share, default true for security --- nfs/config.json | 8 +++++--- nfs/run.sh | 11 +++++++++-- 2 files changed, 14 insertions(+), 5 deletions(-) diff --git a/nfs/config.json b/nfs/config.json index 7ebd317..936536d 100644 --- a/nfs/config.json +++ b/nfs/config.json @@ -1,6 +1,6 @@ { "name": "NFS Server", - "version": "1.0.7", + "version": "1.0.8", "slug": "nfs_server", "description": "Expose Home Assistant media folder via NFS.", "arch": [ @@ -26,7 +26,8 @@ { "folder": "media", "allowed_network": "192.168.1.0/24", - "read_only": false + "read_only": false, + "root_squash": true } ] }, @@ -35,7 +36,8 @@ { "folder": "str", "allowed_network": "str", - "read_only": "bool" + "read_only": "bool", + "root_squash": "bool" } ] }, diff --git a/nfs/run.sh b/nfs/run.sh index e4815bf..19e03f2 100644 --- a/nfs/run.sh +++ b/nfs/run.sh @@ -15,12 +15,19 @@ else FOLDER=$(jq -r ".shares[${i}].folder" "${CONFIG}") NETWORK=$(jq -r ".shares[${i}].allowed_network" "${CONFIG}") READ_ONLY=$(jq -r ".shares[${i}].read_only" "${CONFIG}") + ROOT_SQUASH=$(jq -r ".shares[${i}].root_squash" "${CONFIG}") MOUNT_PATH="/${FOLDER}" if [ "${READ_ONLY}" = "true" ]; then - OPTIONS="ro,no_root_squash" + OPTIONS="ro" else - OPTIONS="rw,no_root_squash" + OPTIONS="rw" + fi + + if [ "${ROOT_SQUASH}" = "true" ]; then + OPTIONS="${OPTIONS},root_squash" + else + OPTIONS="${OPTIONS},no_root_squash" fi bashio::log.info "Exporting ${MOUNT_PATH} to ${NETWORK} (${OPTIONS})..."