一.Samba的功能
Samba软件包包括smbd,nmbd两个守护进程组成。
smbd进程监听TCP:139 (NetBIOS over TCP/IP)和TCP:445(SMBoverTCP/CIFS)端口。
nmbd进程监听UDP:137 (NetBIOS-ns)和UDP:138(NetBIOS-dgm)端口。
1.文件和打印机共享
文件和打印机共享是Samba的主要功能,通过SMB进程实现资源共享,将文件和打印机发布到网络之中,供用户访问。2.身份验证和权限设置
smbd服务支持user mode和domain mode等身份验证和权限设置模式,通过加密方式可以保护共享的文件和打印机。
3.名称解析
Samba通过nmbd服务可以搭建NBNS(NetBIOS Name Service)服务器,提供名称解析,将计算机的NetBIOS名解析为IP地址。
4.浏览服务
局域网中Samba服务器可以成为本地主浏览服务器(LMB),保存可用资源列表,当使用客户端访问Windows网上邻居时,会提供浏览列表,显示共享目录、打印机等资源。
二. Samba工作原理
Samba服务功能强大,这与其通信基于SMB协议有关。SMB不仅提供目录和打印机共享,还支持认证、权限设置。SMB经过开发可以直接运用于TCP/IP上,且没有额外的NBT协议,使用TCP的445端口。可以将运行Samba的Linux主机运行在Windows工作组网络,并提供文件和打印共享服务,也可以将运行Samba的Linux主机加入Windows活动目录并成为其成员,还可以将运行Samba的Linux主机作为活动目录域控制器(ADS),这需要配合Kerberos服务和LDAP服务。
三.安装Samba服务
1.修改主机名:hostnamectl set-hostname samba
hostnamectl
安装Samba服务:yum install -y samba
2.配置Samba服务
配置文件/etc/samba/smb.conf
1) 修改[global]中的内容
2)在配置文件的最后,添加如下内容:
[share] path=/opt/share browseable=yes public=yes writable=yes 参数说明: /opt/share:这个目录是将要共享的目录,若没有,需要创建。 browseable:参数是操作权限; public:参数是访问权限; writable:参数是对文件的操作权限。
3)创建目录并赋予权限
mkdir /opt/share chmod 777 /opt/share/
4)启动Samba服务
systemctl start smb
systemctl start nmb
5)查看端口启动情况(netstat不能使用就yum install net-tools)
6)创建Samba用户
smbpasswd -a root //这个用户必须是系统存在的用户
7)重启Samba服务
service smb restart
3.使用Samba服务
使用PC机,按“win+R”键,并输入Samba服务的IP地址,(在使用PC访问Samba服务前,确保Samba服务器的SELinux服务与防火墙服务均处于关闭状态)
将之前移动到/media中的repo文件,移动到share目录:mv /media/* /opt/share/