目录
个人资料
Samba常规服务器配置
安装和启动Samba
配置Samba服务
配置文件
[全局]全局配置
[共享]共享资源的设置
使用pdbedit
设置防火墙放行
关闭防火墙
开放端口
注意事项
互联网连接性
防火墙设置
权限问题
无法访问
结语
个人资料Samba是一个在Linux和UNIX系统上实现SMB协议的自由软件,由服务器和客户端程序组成。
samba模仿Windows上邻居的中小企业通信协议,将Linux操作系统“伪装”成Windows操作系统,并通过互联网上的邻居进行防火墙
3358 www.Sina.com/(servermessagesblock,信息服务块)是用于在局域网上共享文件和打印机的通信协议,在局域网内SMB协议是基于客户端/服务器的协议(C/S ),可以访问服务器上的共享文件系统、打印机和其他资源。 通过设置NetBIOS over TCP/IP,Samba不仅可以与局域网连接的主机共享资源,还可以与世界各地的计算机共享资源。
使用端口号: 139和445。
Samba常规服务器配置
1 .编辑主配置文件smb.conf,指定要共享的目录,并设置共享目录的共享权限。
在smb.conf文件中指定日志文件名和保存路径。
3 .设置共享目录的本地系统权限和samba共享权限。
4 .重新加载配置式或重新启动smb服务以启用配置
安装和启动Samba
安装yuminstall-ysamba//samba服务器
查看rpm-QA//安装软件包
samba-4.10.4-11.el7_8.x86_64 //服务器端软件,主要提供samba服务器的守护程序,共享文档,日志的轮替。
samba-libs-4.10.4-11.el7_8.x86_64
samba-common-tools-4.10.4-11.el7_8.x86_64
samba-common-libs-4.10.4-11.el7_8.x86_64 //主要提供samba服务器的设置文件与设置文件语法检验。
samba-client-libs-4.10.4-11.el7_8.x86_64 //客户端软件,主要提供linux主机作为客户端时,所需要的工具指令集。
samba-common-4.10.4-11.el7_8.noarch
service smb start
systemctl start smb
systemctl status smb #查看运行情况
netstat -antup | grep smb #查看端口情况
systemctl enable smb #设置开机自启动
chkconfig smb on #设置开机自启动
Samba服务配置 配置文件
/etc/samba/smb.conf #samba的主要配置文件
/usr/zzdbbt/smbclient #客户端功能
/usr/zzdbbt/smbstatus #服务器功能
/etc/samba/lmhosts #早期的 NetBIOS name
主配置文件由两部分组成:
Global Settings :与Samba服务整体运行环境有关的选项,它的设置是针对所有共享资源的
Share Definition:针对共享目录个别的设置,只对当前的共享资源起作用
/etc/samba/smb.conf 文件的开头部分为samba 配置简介,告诉我们smb.conf 文件的作用及相关信息。还有以“;”开头,这些都是samba 配置的格式范例,默认是不生效滴,可以通过去掉前面的“;”并加以修改来设置想使用的功能。
[global]全局配置workgroup = ling #工作组名称
netbios name = ling #主机名称,跟hostname不是一个概念,在同一个组中netbios name必须唯一
serverstring = samba server #说明性文字,内容无关紧要
log file = /var/log/log.%m #日志文件的存储文件名,%m代表的是client端Internet主机名,就是hostname
max log size = 50 #日志文件最大的大小为50Kb
security = share #表示不需要密码,可设置的值为share、user和server
passdb backend = tdbsam
load printer = no #不加载打印机
设置samba 服务器安全模式
常见模式有两种:share 安全级别模式和user 安全级别模式
samba 服务器有share、user、server、domain 和AD活动目录 五种安全模式。
share 安全级别模式:客户端登录samba 服务器,不需要输入用户名和密码就可以浏览samba 服务器的资源,适用于公共的共享资源,安全性差,需要配合其他权限设置,保证samba 服务器的安全性。
user 安全级别模式:客户端登录samba 服务器,需要提×××法帐号和密码,经过服务器验证才可以访问共享资源,服务器默认为此级别模式。
[temp] #共享资源名称
comment = Temporary file space #简单的解释,内容无关紧要
path = /tmp #实际的共享目录
writable = yes #设置为可写入
browseable = yes #可以被所有用户浏览到资源名称,
guest ok = yes #可以让用户随意登录
public = yes #允许匿名查看
valid users = 用户名 #设置访问用户
valid users = @组名 #设置访问组
readonly = yes #只读
readonly = no #读写
hosts deny = 192.168.0.0 #表示禁止所有来自192.168.0.0/24 网段的IP 地址访问
hosts allow = 192.168.0.24 #表示允许192.168.0.24 这个IP 地址访问
[homes]为特殊共享目录,表示用户主目录。
[printers]表示共享打印机。
pdbedit使用
pdbedit用于在samba服务器中管理用户,常见用法:
pdbedit -a username #新建Samba账户。
pdbedit -x username #删除Samba账户。
pdbedit -L #列出Samba用户列表,读取passdb.tdb数据库文件。
pdbedit -Lv #列出Samba用户列表详细信息。
pdbedit -c “[D]” -u username #暂停该Samba用户账号。
pdbedit -c “[]” -u username #恢复该Samba用户账号。
也可以使用"smbpasswd"命令添加和管理用户。
设置防火墙放行 关闭防火墙
service stop iptables
systemctl stop firewalld
端口放行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
注意事项 网络连通性
安装和配置一步一步来,一般是不会有什么问题。但是更多的情况是在Windows的运行命令中,输入了\IP地址之后,没有任何反应。这是最麻烦的地方,因为完全不知道是什么原因导致的。
提供几个可能出问题的地方:
在配置Samba服务器的时候,可以将网络选择为bridge桥模式连接进行测试。
需要保证Linux下的IP和Windows下的IP处于同一网段中,且相互可以进行通信。
linux下直接配置ip
ifconfig eth0 223.3.119.130 (网卡改为相应的网卡,ip可以任意设置)
防火墙设置如果防火墙不关闭,Windows和Samba之间的连通可能会被阻挡。(可以直接关闭防火墙或者设置端口放行,根据实际需要配置即可)
setenforce 0
service iptables stop
service firewalld stop
配置后需要重启Samba服务器。
权限问题可能会出现权限不够的问题,修改你想要的那个文件的权限。
无法访问如果使用windows访问samba,跳出以下对话框的错误:
无法访问。您可能没有权限使用网络资源。请与这台服务器的管理员联系以查明您是否有访问权限。不允许一个用户使用一个以上用户名与一个服务器或共享资源的多重连接。中断与此服务器或共享资源的所有连接,然后再试一次……或者直接重启Windows。
在cmd命令行中先查看连接然后断开已经建立的smb连接:
net use
net use * /delete /y #删除所有连接
结语
已无暇顾及过去,要向前走。