GNU/Linux >> Znalost Linux >  >> Linux

SELinux:Nelze zapisovat do adresáře „Config“! [OwnCloud]

Nainstaloval jsem si owncloud se všemi nezbytnými předpoklady a při pokusu o přístup přes prohlížeč došlo k chybě:Cannot write into "Config" directory! Níže je uveden úplný seznam chyb.

Jak opravit Nelze zapisovat do adresáře „Config“! [OwnCloud]

Výše uvedená chyba jasně naznačuje, že webový server nemůže zapisovat do „Config“ adresář. Zkontrolovali oprávnění a vlastnictví souboru. Všechny soubory v DocumentRoot jsou vlastněny apache uživatele a mají oprávnění ke čtení a zápisu do souborů a adresáře. Je to podobné jako oprávnění k adresáři odepřené zásadou SELinux, protože SELinux je na CentOS 7 a novějších standardně povolen. Níže jsou uvedeny informace SELinux pro config adresář. Všimněte si zvýrazněného typu kontextu, což je adresář pouze pro čtení!

# ls -lZd /var/www/owncloud/config
drwxrwxrwx. 2 apache apache unconfined_u:object_r:httpd_sys_content_t:s0 79 Mar 15 04:49 /var/www/owncloud/config
Změňte svůj instalační adresář OwnCloud

Typy kontextu Apache

Níže jsou uvedeny typy kontextu Apache, které nás primárně zajímají.

httpd_sys_content_t Adresáře a soubory pouze pro čtení používané Apache
httpd_sys_rw_content_t Čitelné a zapisovatelné adresáře a soubory používané Apache. Přiřaďte to adresářům, kde může vaše aplikace vytvářet nebo upravovat soubory, nebo to přiřaďte adresáři souborů, abyste aplikaci umožnili je upravovat.

Úplný seznam typů kontextu pro Apache.

Vytvořit zásady SELinux pro přístup ReadWrite

OwnCloud potřebuje přístup pro čtení a zápis do konfiguračního adresáře. Kromě obvyklého chmod oprávnění, musíme použít kontext, který umožňuje webovému serveru zapisovat do adresáře. Spuštěním níže uvedeného příkazu přiřaďte httpd_sys_rw_content_t  kontextu do adresáře config a všech podřízených souborů.

# semanage fcontext -a -t httpd_sys_rw_content_t '/var/www/owncloud/config/'

# restorecon '/var/www/owncloud/config/'
Změňte svůj instalační adresář OwnCloud[NEBO]

Povolením SELinuxu httpd_unified & httpd_execmem booleovský, jak je uvedeno níže:

# setsebool -P httpd_unified 1

# setsebool -P httpd_execmem 1

Pro více informací o SELinux Booleans.


Linux
  1. chyba konfigurace phpize:nelze najít zdroje (config.m4)

  2. Mkdir:Nelze vytvořit adresář:Žádný takový soubor nebo adresář?

  3. Ssh do konkrétního adresáře?

  1. cd do adresáře bez povolení

  2. file_put_contents nevytváří soubor txt

  3. Oprávnění SELECT INTO OUTFILE odepřeno, ale uživatel může zapisovat do adresáře

  1. Jak změnit výchozí adresář Apache 'DocumentRoot' v Linuxu

  2. Přidělte uživateli přístup pro čtení/zápis do konkrétního adresáře v systému Linux

  3. touch:nelze se dotknout `foo':Žádný takový soubor nebo adresář