GNU/Linux >> Tutoriels Linux >  >> Linux

La commande semanage ne change pas le contexte du fichier

La différence entre semange et chcon est que chcon est "temporel" si le système est réétiqueté, les contextes présents dans un fichier/répertoire seront perdus, l'utilisation de semanage rend les contextes selinux persistants.

Afin de segérer au travail, vous devez fournir le chemin complet vers le fichier ou le répertoire, c'est pourquoisemanage fcontext -a -t public_content_rw_t upload/ ne fonctionne pas mais semanage fcontext -a -t public_content_rw_t "/var/ftp/upload(/.*)? Est-ce que; restorecon ne nécessite pas de chemin complet.


C'est le contexte par défaut

[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 upload/

J'ai essayé cette commande pour changer le contexte

[[email protected] ftp]# semanage fcontext -a -t public_content_rw_t upload/
[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 upload/
[[email protected] ftp]# restorecon -R -v upload
[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_t:s0 upload/

Cela ne fonctionne pas, mais cette commande écrira le contexte dans /etc/selinux/targeted/contexts/files/file_contexts.local fichier

voir ici

# This file is auto-generated by libsemanage
# Do not edit directly.

upload/    system_u:object_r:public_content_rw_t:s0

Maintenant, j'ai essayé cette commande (Commande de travail )

[[email protected] ftp]# semanage fcontext -a -t public_content_rw_t "/var/ftp/upload(/.*)?"
[[email protected] ftp]# restorecon -R -v upload
restorecon reset /var/ftp/upload context unconfined_u:object_r:public_content_t:s0->unconfined_u:object_r:public_content_rw_t:s0
Now context is changed.
[[email protected] ftp]# ll -Zd upload/
drwxr-xr-x. root root unconfined_u:object_r:public_content_rw_t:s0 upload/

Mais je ne sais vraiment pas pourquoi ça marche, voyez la différence de commande.

J'ai eu la réponse dans la page de manuel de man ftpd_selinux

semanage fcontext -a -t public_content_rw_t "/var/ftpd/incoming(/.*)?"

Linux
  1. Impossible d'exécuter la commande de configuration :"aucun fichier ou répertoire de ce type" ?

  2. mkfs.hfsplus :commande introuvable

  3. dos2unix :commande introuvable

  4. chmod :commande introuvable

  5. mkfs :commande introuvable

Comment Linux gère-t-il plusieurs séparateurs de chemins consécutifs (/home////nom d'utilisateur///fichier) ?

nano :commande introuvable

tri :commande introuvable

sed :commande introuvable

unix:///var/run/supervisor.sock aucun fichier de ce type

echo ou print /dev/stdin /dev/stdout /dev/stderr