简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
安装步骤
1.下载及安装Samba
推荐用yum来安装,这样它可以自己解决包的依赖关系,省时、省事又方便。一条命令搞定:
yum -y install samba
2.配置Samba
编辑配置文件
vi /etc/samba/smb.conf
添加一个共享目录,根据实际情况调整
[name]
comment = name #目录名称
path = /home/name #文件路径
writable = yes #是否有写权限
3.添加用户
Linux中/etc/passwd里的用户和Samba里的用户几乎没啥关系,硬说有的话,那就是:Samba的所有用户都必须是系统里已存在的用户。我们要授权系统用户访问Samba的话,通过命令:
smbpasswd -a root
这条命令输入完后,会提示为新建的用户设置访问密码。
完成启动服务
systemctl smb start #启动服务
systemctl smb restart #重启服务
systemctl smb stop #停止服务
systemctl smb status #服务状态
开机自启动设置
systemctl enable smb.service #开机自启动
systemctl disable smb.service #取消开机自启动
防火墙配置
如果有启用防火墙,需要开启TCP:139,445 UDP:137,138
依次执行如下命令
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 139 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -m state --state NEW -m tcp -p tcp --dport 445 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 137 -j ACCEPT
iptables -I RH-Firewall-1-INPUT 5 -p udp -m udp --dport 138 -j ACCEPT
iptables-save
service iptables restart
如果有开启SELinux服务,依次执行如下命令
setsebool -Psamba_enable_home_dirs on
setsebool -Psamba_export_all_rw on