O contexto do SELinux é armazenado nos atributos estendidos do arquivo ( xattr
, man 5 attr
). Ferramentas para trabalhar com elas estão disponíveis em core/attr
package.
Atributos, incluindo o contexto do SELinux, podem ser recuperados com getfattr
. Há uma ressalva: por padrão, getfattr
lista apenas os atributos do user.
namespace; O atributo selinux
que precisamos está em security
namespace. Portanto, precisamos passar a opção -m -
para solicitar atributos para todos os namespaces ( -d
é para despejar valores e nomes):
$ getfattr -m - -d bin/sh
# file: bin/sh
security.selinux="u:object_r:system_file:s0"
Para alterar o contexto do selinux, usei a ferramenta setfattr
, que exigia privilégios de root:
$ sudo setfattr -n security.selinux -v u:object_r:shell_exec:s0 bin/sh
$ getfattr -m - -d bin/sh
# file: bin/sh
security.selinux="u:object_r:shell_exec:s0"