π 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.
Argument | Description |
---|---|
PATH | File 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.
Argument | Description |
---|---|
PATH | File 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.
Argument | Description |
---|---|
SRC | Source path |
DEST | Destination 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.
Argument | Description |
---|---|
PATH | File/folder(s) |
savecontext /system/build.prop
savecontext /system/app /system/bin /vendor
copy_context_listβ
Exports the saved contexts list to a file.
Argument | Description |
---|---|
DEST | Destination file |
copy_context_list /sdcard/contexts.txt
restorecontextβ
Restores saved contexts to files/folders recursively.
Argument | Description |
---|---|
PATH | File/folder(s) |
-f FILE | Use 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.
Argument | Description |
---|---|
FILE_CTX | Context for files (complete or partial) |
DIR_CTX | Context for folders (complete or partial) |
PATH | Directory(s) |
-f | Apply to files only |
-d | Apply 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.
Argument | Description |
---|---|
CTX | Context (complete or partial) |
PATH | File/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