Skip to content

Commit f227499

Browse files
committed
set_xva_bridge: set owner and permissions in tar command
Erase the output archive members' owner and permissions directly through tar command line. Make extracted temp files readable with chmod to avoid using sudo for reading input files. Signed-off-by: Tu Dinh <[email protected]>
1 parent 9f9c1e2 commit f227499

File tree

1 file changed

+4
-8
lines changed

1 file changed

+4
-8
lines changed

scripts/set_xva_bridge.sh

Lines changed: 4 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -105,10 +105,10 @@ else
105105
exit 1
106106
fi
107107

108+
chmod -R u+rX "${TMPFOLDER}"
109+
108110
if [ -e "${TMPFOLDER}/ova.xml" ]; then
109-
chmod +rw "${TMPFOLDER}/ova.xml"
110-
sed -i "s/<member><name>bridge<\/name><value>[^<]*<\/value><\/member>/<member><name>bridge<\/name><value>${BRIDGE_VALUE}<\/value><\/member>/g" ${TMPFOLDER}/ova.xml
111-
chmod -rw "${TMPFOLDER}/ova.xml"
111+
sed -i "s/<member><name>bridge<\/name><value>[^<]*<\/value><\/member>/<member><name>bridge<\/name><value>${BRIDGE_VALUE}<\/value><\/member>/g" "${TMPFOLDER}/ova.xml"
112112
else
113113
echo "Error: File ova.xml not found during the sed."
114114
exit 1
@@ -118,15 +118,11 @@ fi
118118
# save first file
119119
mv "${XVA_NAME}" "${XVA_NAME}.save"
120120

121-
# create xva
122-
cd "${TMPFOLDER}"
123-
124121
# Create the new XVA
125-
sudo tar -cv --${COMPRESS_METHOD} -f ${XVA_NAME} --no-recursion -T ${TMP_LIST}
122+
tar -C "${TMPFOLDER}" --${COMPRESS_METHOD} -cf "${XVA_NAME}" --no-recursion -T "${TMP_LIST}" --numeric-owner --owner=:0 --group=:0 --mode=ugo= --mtime=@0
126123
rm -f "${TMP_LIST}"
127124

128125
# clean TMPFOLDER
129-
cd ..
130126
if [ -d "${TMPFOLDER}" ]; then
131127
rm -Rf "${TMPFOLDER}"
132128
else

0 commit comments

Comments
 (0)