目录
1.简介
2.Samba的服务组成
3.安装samba服务
4.查看安装状况
5.设置开机自启动
6.启动服务
7.查看samba服务进程
8.防火墙设置
9.修改主配置文件
10.建立共享目录
11.重启smb服务
12.测试smb.conf配置是否正确
13.访问samba服务器的共享文件
1.简介
samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。
2.Samba的服务组成
1)SMB是samba 的核心启动服务,主要负责建立Linux samba服务器与samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口。
2)NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
3.安装samba服务
[root@master ~]# yum -y install samba
4.查看安装状况
[root@master ~]# rpm -qa | grep samba
5.设置开机自启动
[root@master ~]# systemctl enable smb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/smb.service to /usr/lib/systemd/system/smb.service.
[root@master ~]# systemctl enable nmb.service
Created symlink from /etc/systemd/system/multi-user.target.wants/nmb.service to /usr/lib/systemd/system/nmb.service.
6.启动服务
[root@master ~]# systemctl start smb.service
[root@master ~]# systemctl status smb.service
● smb.service - samba SMB Daemon
Loaded: loaded (/usr/lib/systemd/system/smb.service; enabled; vendor preset: disabled)
Active: active (running) since 六 2019-03-23 00:28:49 CST; 7s ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 17706 (smbd)
[root@master ~]# systemctl start nmb.service
[root@master ~]# systemctl status nmb.service
● nmb.service - samba NMB Daemon
Loaded: loaded (/usr/lib/systemd/system/nmb.service; enabled;
7.查看samba服务进程
[root@master ~]# netstat -tunlp|grep -E 'smbd|nmbd'
8.防火墙设置
[root@master ~]# firewall-cmd --permanent --add-port=137-138/udp
success
[root@master ~]# firewall-cmd --permanent --add-port=139/tcp
success
[root@master ~]# firewall-cmd --permanent --add-port=445/tcp
success
[root@master ~]# systemctl restart firewalld.service
[root@master ~]# firewall-cmd --list-all
9.修改主配置文件
首先备份配置文件:
[root@master ~]# cp -p /etc/samba/smb.conf /etc/samba/smb.conf.bak
接着修改配置文件内容:
[root@master ~]# vi /etc/samba/smb.conf
将文件内容换成以下的信息:
[global]
# 该设置与samba服务整体运行环境有关,它的设置项目针对所有共享资源
# 定义工作组,也就是windows中的工作组概念
workgroup = WORKGROUP
# 定义samba服务器的简要说明
server string = Master samba Server Version %v
# 定义windows中显示出来的计算机名称
netbios name = Master
# 定义samba用户的日志文件,%m代表客户端主机名
# samba服务器会在指定的目录中为每个登陆主机建立不同的日志文件
log file = /var/log/samba/log.%m
# 共享级别,用户不需要账号和密码即可访问
security = share
map to guest = Bad User
[public]
# 设置针对的是共享目录个别的设置,只对当前的共享资源起作用
# 对共享目录的说明文件,自己可以定义说明信息
comment = Public Stuff
# 用来指定共享的目录,必选项
path = /share
# 所有人可查看
public = yes
guest ok =yes
10.建立共享目录
[root@master ~]# mkdir /share
[root@master ~]# echo "This is a share file" >/share/share.txt
[root@master ~]# touch /share/share{01..10}
[root@master ~]# ll /share/
11.重启smb服务
[root@master ~]# systemctl restart smb.service
[root@master ~]# systemctl status smb.service
12.测试smb.conf配置是否正确
[root@master ~]# testparm
13.访问samba服务器的共享文件
1)在Linux下访问samba服务器的共享文件 首次使用需要安装samba客户端
[root@slave ~]# yum -y install samba-client
当要求输入密码时,直接回车。
[root@slave ~]# smbclient //192.168.125.128/public/
Enter samba\root's password:
Try "help" to get a list of possible commands.
smb: \> ls
. D 0 Sat Mar 23 03:05:06 2019
.. DR 0 Sat Mar 23 03:02:37 2019
share.txt N 21 Sat Mar 23 03:03:55 2019
share01 N 0 Sat Mar 23 03:05:06 2019
share02 N 0 Sat Mar 23 03:05:06 2019
share03 N 0 Sat Mar 23 03:05:06 2019
…
10475520 blocks of size 1024. 4924620 blocks available
2)在windows下访问samba服务器的共享文件
在浏览器地址栏输入下面的地址: \\192.168.125.128\public 可以得到如图所示。
到这里就全部配置完成了。