Instalacja Samby
yum install -y samba samba-client cifs-utils
Pliki konfiguracyjne:
/etc/samba/smb.conf - udziały, prawa i parametry
/etc/samba/smbusers - uzytkownicy
/etc/sysconfig/samba - ustawienia startowe
/var/lib/samba/private/smbpasswd - hasła
/var/log/samba - logi
Włączanie i wyłączanie usługi, sprawdzanie statusu:
systemctl start smb
systemctl enable smb
systemctl status smb
Konfiguracja zapory:
firewall-cmd --permanent --add-service samba
firewall-cmd --reload
Stworzenie grupy użytkowników Samby o nazwie sambausers, należących do niej dwóch użytkowników: admin oraz gosc i nadanie im haseł.
groupadd sambausers
adduser gosc --shell /bin/false
usermod -a -G sambausers gosc
useradd -G sambausers admin --shell /bin/false
smbpasswd -a gosc
smbpasswd -a admin
Utworzenie udziałów (katalogów do udostępnienia użytkownikom):
mkdir /mnt/DANE/TU_WRZUCAC_DANE
chmod 777 /mnt/DANE/TU_WRZUCAC_DANE
mkdir /mnt/DANE/FILMY
chmod 777 /mnt/DANE/FILMY
Konfiguracja pliku /etc/samba/smb.conf. Użytkownik admin posiada prawo modyfikacji obu katalogów, użytkownik gosc może modyfikować tylko katalog TU_WRZUCAC_DANE i przeglądać jedynie katalog FILMY (nie modyfikować).
[TU_WRZUCAC_DANE]
comment = TU_WRZUCAC_DANE
path = /mnt/DANE/TU_WRZUCAC_DANE
guest ok = no
write list = @sambausers
create mask = 0777
directory mask = 0777
[FILMY]
comment = FILMY
path = /mnt/DANE/FILMY
guest ok = no
valid users = @sambausers
write list = admin
create mask = 0777
directory mask = 0777
[homes] # zmienić 2 wpisy na:
browseable = No
read only = Yes
Sprawdzenie poprawności konfiguracji pliku smb.conf poleceniem testparm
Konfiguracja systemu SELinux dla Samby:
setsebool -P samba_export_all_ro on
setsebool -P samba_export_all_rw on
semanage fcontext -at public_content_rw_t " /mnt/DANE/TU_WRZUCAC_DANE(/.*)?"
semanage fcontext -at public_content_rw_t " /mnt/DANE/FILMY(/.*)?"
restorecon /mnt/DANE/FILMY
restorecon /mnt/DANE/TU_WRZUCAC_DANE
Udostępnianie zasobu publicznie (bez podawania poświadczeń): https://unix.stackexchange.com/questions/155651/samba-share-open-for-all-to-all