Le etichette SELinux non si preoccupano del nome utente o userid. Esiste un'utile mappatura delle etichette predefinite ai percorsi, che puoi osservare eseguendo:
semanage fcontext -l
Nel tuo caso, siamo interessati alla directory /var/ftp
:
# semanage fcontext -l | grep '/var/ftp'
/var/ftp(/.*)? all files system_u:object_r:public_content_t:s0
/var/ftp/bin(/.*)? all files system_u:object_r:bin_t:s0
/var/ftp/etc(/.*)? all files system_u:object_r:etc_t:s0
/var/ftp/lib(64)?(/.*)? all files system_u:object_r:lib_t:s0
/var/ftp/lib(64)?/ld[^/]*\.so(\.[^/]*)* regular file system_u:object_r:ld_so_t:s0
Da questo output, vedrai che ad eccezione di /var/ftp/bin
, /var/ftp/etc
e /var/ftp/lib(64)?
, a tutti i file posizionati in /var/ftp
verrà assegnata l'etichetta public_content_t
. Quindi, se crei un nuovo file in /var/ftp/pub
, verrà etichettato public_content_t
indipendentemente dal fatto che lo hai fatto come root utente, ftp, bob, ecc.