У меня есть Linux-сервер (Linux1), на котором я уже настроил общие папки. Он работает на RHEL 7.2. Конфигурация моего /etc/samba/smb.conf
как следует:
[sharing]
path = /home/share
guest ok = yes
browseable = yes
read only = no
Все работало нормально, я могу получить доступ ко всем подпапкам и файлам в общей папке с другого моего сервера Linux (Linux2). Общая папка была ранее смонтирована как cifs
так как /mnt/share
.
Затем я перезапустил Linux1, отключил брандмауэр и перезапустил службу smb.
В Linux2 я вижу свою общую папку и подпапки, но когда я попытался ls
в подпапку, говорится ls: reading directory /mnt/share/subfolder: Permission denied
.
Я не понимаю, почему сейчас это не работает.
Вместо отключения selinux установите правильные логические значения и значения контекста безопасности следующим образом. (Я предполагаю, что "совместное использование" - это имя общего ресурса самбы)
setsebool -P samba_export_all_ro=1 samba_export_all_rw=1
getsebool -a | grep samba_export
semanage fcontext -at samba_share_t "/sharing(/.*)?"
restorecon /sharing
Также вам может потребоваться добавить некоторые правила, разрешающие трафик для самбы.
firewall-cmd --permanent --add-service=samba
firewall-cmd --reload
Вы не должны отключать SELinux. Лучше всего было бы изменить настройки SELinux, чтобы разрешить доступ к вашим общим папкам.
Запуск чего-то вроде chcon -t samba_share_t /home/share
должен сделать свое дело.
Я только что понял, что мой SELinux настроен на Enforcing
в Linux1, и это вызывало проблему с разрешениями. После его отключения я снова смог получить доступ к подпапкам и файлам.