GNU/Linux >> Znalost Linux >  >> Linux

Příkaz semanage nemění kontext souboru

Rozdíl mezi semange a chcon je v tom, že chcon je „dočasný“, pokud systém přejmenuje, kontexty přítomné v souboru / adresáři budou ztraceny, použití semanage činí kontexty selinux trvalými.

Aby semanage fungoval, musíte zadat úplnou cestu k souboru nebo adresáři, protosemanage fcontext -a -t public_content_rw_t upload/ nefunguje, ale semanage fcontext -a -t public_content_rw_t "/var/ftp/upload(/.*)? dělá; restorecon nevyžaduje úplnou cestu.


Toto je výchozí kontext

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

Zkoušel jsem tento příkaz změnit kontext

[[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/

Nefunguje to, ale tento příkaz zapíše kontext v /etc/selinux/targeted/contexts/files/file_contexts.local soubor

viz zde

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

upload/    system_u:object_r:public_content_rw_t:s0

Nyní jsem zkusil tento příkaz (Pracovní příkaz )

[[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/

Ale opravdu nechápu, proč to funguje, podívejte se na rozdíl v příkazech.

Odpověď jsem dostal v manuálové stránce man ftpd_selinux

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

Linux
  1. Nelze spustit příkaz Configure:„žádný takový soubor nebo adresář“?

  2. mkfs.hfsplus:příkaz nenalezen

  3. dos2unix:příkaz nenalezen

  1. chmod:příkaz nenalezen

  2. mkfs:příkaz nenalezen

  3. soubor:příkaz nenalezen

  1. tune2fs:příkaz nenalezen

  2. fsck:příkaz nenalezen

  3. ocas:příkaz nenalezen