Skip to main content

πŸ” Get/Set Contexts Tools

Utilities for handling Android SELinux contexts.


eval_context​

Evaluates the most common SELinux context in a directory or gets a file’s context.

ArgumentDescription
PATHFile or directory
eval_context /system          # e.g., u:object_r:system_file:s0
eval_context /vendor/overlay # e.g., u:object_r:vendor_overlay_file:s0
eval_context /efs # e.g., u:object_r:sec_efs_file:s0
eval_context /system/build.prop # e.g., u:object_r:system_file:s0

get_context​

Gets the literal SELinux context of a file or folder.

ArgumentDescription
PATHFile or folder
get_context /system/app       # e.g., u:object_r:system_file:s0
get_context /system/build.prop # e.g., u:object_r:system_file:s0

set_context​

Applies contexts from one path to another.

ArgumentDescription
SRCSource path
DESTDestination path
set_context "/system" "$MODPATH/system"
set_context "/vendor" "$MODPATH/system/vendor"
set_context "/vendor/etc" "$MODPATH/system/vendor/etc"
set_context "/system/build.prop" "/data/test/test.prop"

savecontext​

Saves contexts of files/folders recursively.

ArgumentDescription
PATHFile/folder(s)
savecontext /system/build.prop
savecontext /system/app /system/bin /vendor

copy_context_list​

Exports the saved contexts list to a file.

ArgumentDescription
DESTDestination file
copy_context_list /sdcard/contexts.txt

restorecontext​

Restores saved contexts to files/folders recursively.

ArgumentDescription
PATHFile/folder(s)
-f FILEUse a saved list
restorecontext /system/build.prop
restorecontext /system/app /system/bin /vendor
restorecontext -f "$TMP/contexts.txt" /system/app /system/bin /vendor

ch_con_recursive​

Manually sets contexts recursively for files and folders.

ArgumentDescription
FILE_CTXContext for files (complete or partial)
DIR_CTXContext for folders (complete or partial)
PATHDirectory(s)
-fApply to files only
-dApply to directories only
# Complete contexts
ch_con_recursive "u:object_r:system_file:s0" "u:object_r:system_file:s0" /data/test

# Partial contexts
ch_con_recursive "system_file" "system_file" /data/test

# Files only
ch_con_recursive -f "system_file" /data/test

# Directories only
ch_con_recursive -d "system_file" /data/test

# Multiple directories
ch_con_recursive "system_file" "vendor_file" /data/test /data/test2 /data/test3

ch_con​

Manually sets contexts for individual files/folders.

ArgumentDescription
CTXContext (complete or partial)
PATHFile/folder(s)
# Complete context
ch_con "u:object_r:system_file:s0" /data/test/huh.txt

# Partial context
ch_con "system_file" /data/test

# Multiple paths
ch_con "system_file" /data/test /data/a.prop /data/test/huh.txt