#!/system/bin/sh ### Rozhuk Ivan 2020-2023 ### fix_datadata_perms.sh ### Restore app data owner and permissions. DATA_DIRS_LIST='data media/0/Android/data misc/profiles/cur/0 misc/profiles/ref user/0 user_ce/0 user_de/0 ../data_mirror/data_ce/null/0' # Restor owner and perms. while read -r _APP_NAME _APP_UID _APP_PATH _APP_UID2 _APP_UID3 _APP_UID4; do for __DATA_DIR in ${DATA_DIRS_LIST}; do [ ! -d "/data/${__DATA_DIR}/${_APP_NAME}" ] && continue; echo "/data/${__DATA_DIR}/${_APP_NAME}: ${_APP_UID}" /system/bin/chmod 751 "/data/${__DATA_DIR}/${_APP_NAME}" /system/bin/chown -R "${_APP_UID}:${_APP_UID}" "/data/${__DATA_DIR}/${_APP_NAME}" done done < '/data/system/packages.list' # Restore SeLinux contexts. # restorecon on some devices requires *. for __DATA_DIR in ${DATA_DIRS_LIST}; do /system/bin/restorecon -Rv "/data/${__DATA_DIR}/" /system/bin/restorecon -Rv "/data/${__DATA_DIR}/*" done