Archiwa tagu: samba

Centos 7 – instalacja i konfiguracja Samby

Instalacja Samby

install -y samba samba-client 

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

Można również wyłączyć SELinux lub skonfigurować go tak, aby nie działał restrykcyjnie:

sestatus
nano /etc/selinux/config
SELINUX=permissive lub disabled