El comando chcon ayuda a cambiar el contexto de SELinux o el TIPO de lo que, en la mayoría de los casos, será un solo archivo o tal vez algunos archivos a los que se puede hacer referencia fácilmente junto con algún tipo de comodín. chcon junto con semanage y restorecon se pueden usar para corregir un contexto SELinux incorrecto. Puede usar el comando chcon de 2 formas para arreglar o cambiar el contexto de SELinux.
Forma manual de especificar el contexto correcto
De esta forma, podemos usar la -t opción para cambiar el contexto del archivo. No se recomienda este método de modificar el contexto del archivo, ya que pueden ocurrir errores al usarlo.
# chcon -t httpd_sys_content_t index.html
Puede ver en la salida 'ls -Z' que el comando fue exitoso.
# ls -Z -rw-rw-r--. apacheuser apacheuser unconfined_u:object_r:httpd_sys_content_t:s0 index.html
Archivo de referencia con el contexto adecuado
La otra forma de usar chcon es hacer referencia a un archivo que tenga el contexto adecuado.
# chcon --reference some_file.html index.html
Entonces, usé la –referencia opción y especificó el archivo que quería usar como referencia. El archivo que quería cambiar aparece al final del comando.
Ejemplos del uso del comando chcon
1. Para cambiar un tipo de directorio web
# chcon -R -t httpd_sys_content_t /web/
2. Para cambiar un contexto de seguridad utilizando el archivo de referencia:
# chcon --reference=/tmp/file2 /tmp/file2
3. Para establecer el contexto de seguridad en los archivos de forma recursiva:
# chcon -R httpd_sys_content_t /web/
4. Para cambiar el contexto de seguridad del usuario de archivos:
# chcon -u mike_u /file
5. Para cambiar el contexto de seguridad del rol de los archivos:
# chcon -u object_r /file
6. Para cambiar los archivos, escriba el contexto de seguridad:
# chcon -u admin_home_t /file
7. Para cambiar el contexto de seguridad del nivel de archivos:
# chcon -u s0 /file