По-перше, ви можете переглянути контекст чогось із ls за допомогою ls -Z
[root@servername www]# ls -dZ /var/www
drwxr-xr-x root root system_u:object_r:httpd_sys_content_t /var/www
По-друге, є два варіанти надання доступу Samba та Apache до одного каталогу.
Простий спосіб - просто дозволити доступ самби для читання / запису скрізь за допомогою:
setsebool -P samba_export_all_rw 1
Це просто, легко і не возиться з якимись дивними властивостями SELinux.
Якщо ви переймаєтесь тим, що Samba має повний доступ до всіх каталогів і хочете лише змінити / var / www, спробуйте:
chcon -t public_content_rw_t /var/www
setsebool -P allow_smbd_anon_write 1
setsebool -P allow_httpd_anon_write 1
Це дозволить і Samba, і Apache писати доступ до будь-яких каталогів з контекстом public_content_rw_t. Зауважте, що chcon змінює лише / var / www. Будь-які нові каталоги, створені під / var / www, будуть public_content_rw_t, але не існуючі каталоги, такі як / var / www / html або / var / www / manual. Якщо ви хочете все змінити, додайте до chcon -R:
chcon -R -t public_content_rw_t /var/www
Ви можете переглянути цю вікі-сторінку CentOS, щоб отримати підказки щодо інших булевих файлів SELinux.