Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
官方地址:https://www.samba.org/
以下安装均以root用户执行
1.安装
#yum install samba samba-client -y
2.设置开机自启
#systemctl enable smb.service
3.启动Samba服务
#systemctl start smb.service
4.查看服务启动状态
# 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 Mon 2019-06-10 06:33:26 CST; 25min ago
Docs: man:smbd(8)
man:samba(7)
man:smb.conf(5)
Main PID: 8911 (smbd)
Status: "smbd: ready to serve connections..."
Tasks: 5
Memory: 7.5M
CGroup: /system.slice/smb.service
├─8911 /usr/sbin/smbd --foreground --no-process-group
├─8914 /usr/sbin/smbd --foreground --no-process-group
├─8915 /usr/sbin/smbd --foreground --no-process-group
├─8916 /usr/sbin/smbd --foreground --no-process-group
└─8918 /usr/sbin/smbd --foreground --no-process-group
Jun 10 06:33:26 localhost.localdomain systemd[1]: Stopped Samba SMB Daemon.
Jun 10 06:33:26 localhost.localdomain systemd[1]: Starting Samba SMB Daemon...
Jun 10 06:33:26 localhost.localdomain smbd[8911]: [2019/06/10 06:33:26.213947, 0] ../lib/util/become_daemon.c:138(daemon_ready)
Jun 10 06:33:26 localhost.localdomain smbd[8911]: daemon_ready: STATUS=daemon 'smbd' finished starting up and ready to serve connections
Jun 10 06:33:26 localhost.localdomain systemd[1]: Started Samba SMB Daemon.
5.配置配置文件
1.进入配置文件目录:
#cd /etc/samba
2.备份:
# cp smb.conf smb.conf.bak
3.修改配置文件(若未安装vim,使用vi命令等同)
#vim smb.conf
4.在smb.conf 末尾添加如下内容:
[starry]
comment = starry
path = /home/starry
writable = yes
#注:starry为samba共享用户名,path为共享路径,将共享文件放置在此路径下即可
6.设置用户
设置samba共享用户:
首先为linux系统添加名为samba共享用户名的用户,我这里就是starry
#useradd starry
添加用户starry到Samba用户数据库中
#smbpasswd -a starry
7.为共享目录设置权限
查看共享目录权限
#ls -ld /home/starry
修改权限(我这里为了方便,设置了777权限,读者可以根据需要自行设置相关权限)
#chmod 777 /home/starry
8.关闭防火墙和selinux
Centos7下的防火墙firewalld 配置
启动: systemctl start firewalld
关闭: systemctl stop firewalld
查看状态: systemctl status firewalld
开机禁用 : systemctl disable firewalld
开机启用 : systemctl enable firewalld
Centos7下selinux 配置
临时关闭selinux
setenforce 0
永久关闭selinux
vi /etc/selinux/config
修改enforcing为disabled
9.重启Samba服务
#systemctl restart smb.service