
Jak na sdílení dat na Linuxu pomocí Samby (SMB - Server Message Block)? Je to velmi jednoduché - stačí nainstalovat balíček se Sambou, přidat uživatele, definovat co se má sdílet a s jakými právy.
Samotná instalace balíčku Samba
apt-get install samba samba-commonnebo pro RHEL (CentOS)
yum install samba samba-commonsystemctl start smb (smbd)systemctl enable smb (smbd)Založení uživatele hanz do Samby
smbpasswd -a hanzSdílení domovského adresáře /home/hanz pro uživatele hanz s právy pro zápis
nano /etc/samba/smb.conf---
Do souboru třeba nakonec napsat:
[Hanz]
comment = Hanz Home Folder
path = /home/hanz
public = yes
writable = yes
valid users = hanz
create mask = 0700
directory mask = 0700
force user = hanz
force group = hanz
/etc/init.d/samba restart #provést restart sambyFirewalld - povolení samby
firewall-cmd --zone=public --permanent --add-port=139/tcpfirewall-cmd --reloadNastavení iptables (firewallu) pro povolení přístupu na sambu
- jednoduché pravidlo pro obecné povolení
iptables -A INPUT -p tcp --dport 139 -m state --state NEW -j ACCEPT- pravidlo s vyjímkami, kdy přístup ze sítě 192.168.4.0/24 je povolen, avšak pro IP adresu 192.168.4.22 a ostatní sítě zakázán.
iptables -N sambaiptables -A samba -s 192.168.4.22 -j DROPiptables -A samba -s 192.168.4.0/24 -j ACCEPTiptables -A samba -j DROPiptables -A INPUT -p tcp --dport 139 -m state --state NEW -j sambaPorty, které využívá samba:
End Point Mapper = 135/tcp
NetBIOS Name Service = 137/udp
NetBIOS Datagram = 138/udp
NetBIOS Session = 139/tcp
SMB over TCP = 445/tcp
Povolení samby ve firewalld:
firewall-cmd --permanent --add-service=sambaKontrola funkčnosti samby na localhostu:
Nyní můžeme vyzkoušet, zda nám samba na localhostu funguje - zde ověříme kam má přístup uživatel user2smbclient -L localhost -U user2
Trvale:
1.) Podívej se zda je služba smb nastavena po spuštění zde "<code>ll /etc/rc2.d/</code>"
2.) Pokud ano, odstraň ji "<code>update-rc.d -f smbd remove</code>"
<code>adduser user</code>
<code>smbpasswd -a user</code>
<code>root@pi:~# mount -t cifs //192.168.70.249/d /mnt/smb -o user=admin,noexec</code>
Password for admin@//192.168.70.249/d: *
mount error(121): Remote I/O error
Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
Heslo je určitě správně.
Díky
<code>HKLM\SYSTEM\CurrentControlSet\Control\Session Manager\Memory Management\LargeSystemCache</code> - nastav na 1
<code>HKLM\SYSTEM\CurrentControlSet\Services\LanmanServer\Parameters\Size</code> - nastav na 3
<code>[samba]
comment = Share Home Folder
path = /home/share/samba
public = yes
writable = yes
browsable = yes
valid users = komar
force create mode = 0777
force directory mode = 0777
force user = komar
force group = komar</code>