Bo do Samby trzeba dwojga
… a konkretnie cierpliwości i Googli.
Sytuacja wygląda tak: mamy skonfigurowaną już Sambę (na CentOS), dodaliśmy do niej użytkownika uzytkowniksamby, uruchomiliśmy serwer i wszystko zdaje się być OK, bo polecenie
$ smbclient -N -L nazwakomputera
listuje nam zasoby, nawet gdy posłużymy się nazwą komputera określoną w opcji netbios name. Próbujemy zatem
$ smbclient //nazwakomputera//zasob -U uzytkowniksamby
Podajemy hasło, zostajemy zalogowani, wpisujemy ls i otrzymujemy
NT_STATUS_ACCESS_DENIED listing \\*
W /var/log/messages znajdujemy komunikat od SELinuksa, który radzi nam wywołać sealert -l z kodem błędu. Wyjątkowo jest to niezła rada, bo SELinux zaproponuje nam nawet jakieś rozwiązanie. My jednak, nauczeni doświadczeniem, zastosujemy od razu (zakładam, że zasoby są w katalogu /var/samba) rozwiązanie dla wszystkich zasobów:
# chcon -R -t samba_share_t /var/samba
Jeżeli chcemy ponadto umożliwić użytkownikom Samby dostęp do ich katalogów domowych, a i tu napotykamy blokadę SELinuksa, musimy ją usunąć:
# setsebool -P samba_enable_home_dirs=1
Wciąż pozostaje dla mnie tajemnicą, co należy zrobić, by CentOS łaskawie sam skonfigurował SELinuksa do współpracy z Sambą. Strona man samba_selinux podaje kilka dodatkowych informacji, w tym, zdaje się, opcję do całkowitego wyłączenia zabezpieczeń SELinux dla Samby, ale dopóki nie muszę, wolę tego nie próbować. Dodam tylko, że jest tam też sugestia, jakoby system-config-securitylevel był pomocny w tej sytuacji, ale zaznaczenie opcji „Samba” w tym konfiguratorze bynajmniej nic nie daje.
