fix(nfs): remove dangerous -s flag and unsupported sync option from unfs3

This commit is contained in:
2026-03-31 15:50:25 +02:00
parent b4173ea6c9
commit 35bb3aad89
3 changed files with 9 additions and 11 deletions

View File

@@ -1,5 +1,10 @@
# Changelog # Changelog
## 1.0.14 - 2026-03-31
- fix: remove unfsd -s flag (security risk: grants all clients root access, not file handle stability)
- fix: remove sync export option (not supported by unfs3, silently ignored)
## 1.0.13 - 2026-03-31 ## 1.0.13 - 2026-03-31
- feat: add per-share sync option (default true) to fix I/O errors on large file transfers - feat: add per-share sync option (default true) to fix I/O errors on large file transfers

View File

@@ -1,6 +1,6 @@
{ {
"name": "NFS Server", "name": "NFS Server",
"version": "1.0.13", "version": "1.0.14",
"slug": "nfs_server", "slug": "nfs_server",
"description": "Expose Home Assistant media folder via NFS.", "description": "Expose Home Assistant media folder via NFS.",
"arch": [ "arch": [
@@ -27,8 +27,7 @@
"folder": "media", "folder": "media",
"allowed_network": "192.168.1.0/24", "allowed_network": "192.168.1.0/24",
"read_only": false, "read_only": false,
"root_squash": true, "root_squash": true
"sync": true
} }
] ]
}, },
@@ -38,8 +37,7 @@
"folder": "str", "folder": "str",
"allowed_network": "str", "allowed_network": "str",
"read_only": "bool", "read_only": "bool",
"root_squash": "bool", "root_squash": "bool"
"sync": "bool"
} }
] ]
}, },

View File

@@ -18,7 +18,6 @@ else
NETWORK=$(jq -r ".shares[${i}].allowed_network" "${CONFIG}") NETWORK=$(jq -r ".shares[${i}].allowed_network" "${CONFIG}")
READ_ONLY=$(jq -r ".shares[${i}].read_only" "${CONFIG}") READ_ONLY=$(jq -r ".shares[${i}].read_only" "${CONFIG}")
ROOT_SQUASH=$(jq -r ".shares[${i}].root_squash" "${CONFIG}") ROOT_SQUASH=$(jq -r ".shares[${i}].root_squash" "${CONFIG}")
SYNC=$(jq -r ".shares[${i}].sync" "${CONFIG}")
MOUNT_PATH="/${FOLDER}" MOUNT_PATH="/${FOLDER}"
if [ "${READ_ONLY}" = "true" ]; then if [ "${READ_ONLY}" = "true" ]; then
@@ -33,10 +32,6 @@ else
OPTIONS="${OPTIONS},no_root_squash" OPTIONS="${OPTIONS},no_root_squash"
fi fi
if [ "${SYNC}" = "true" ]; then
OPTIONS="${OPTIONS},sync"
fi
OPTIONS="${OPTIONS},insecure" OPTIONS="${OPTIONS},insecure"
bashio::log.info "Exporting ${MOUNT_PATH} to ${NETWORK} (${OPTIONS})..." bashio::log.info "Exporting ${MOUNT_PATH} to ${NETWORK} (${OPTIONS})..."
@@ -53,4 +48,4 @@ cat /etc/exports
# Start unfs3 user-space NFS server in foreground # Start unfs3 user-space NFS server in foreground
bashio::log.info "Starting unfs3 NFS server..." bashio::log.info "Starting unfs3 NFS server..."
exec unfsd -d -s -e /etc/exports exec unfsd -d -e /etc/exports