简介
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资源。
规划
共享名 | 路径 | 权限 |
SHAREROOT | /smb/shareRoot | 所有人员包括来宾均可以访问 |
PROJECTROOT | /smb/projectRoot | 仅允许特定组的用户进行读写访问 |
PS: 特定组的组名为projectGroup,组员为david.tian, black.xie, josen.zhang
安装SAMBA
# 安装
[root@metis oracle]# yum -y install samba samba-client samba-common
# 查看安装版本信息
[root@metis oracle]# rpm -qi samba
Name : samba
Epoch : 0
Version : 4.2.10
Release : 7.el7_2
Architecture: x86_64
Install Date: Thu 01 Dec 2016 11:33:36 AM EST
Group : System Environment/Daemons
Size : 1895813
License : GPLv3+ and LGPLv3+
Signature : RSA/SHA256, Tue 26 Jul 2016 06:52:49 AM EDT, Key ID 24c6a8a7f4a80eb5
Source RPM : samba-4.2.10-7.el7_2.src.rpm
Build Date : Tue 26 Jul 2016 06:40:40 AM EDT
Build Host : worker1.bsys.centos.org
Relocations : (not relocatable)
Packager : CentOS BuildSystem <http://bugs.centos.org>
Vendor : CentOS
URL : http://www.samba.org/
Summary : Server and Client software to interoperate with Windows machines
Description :
Samba is the standard Windows interoperability suite of programs for Linux and Unix.
配置SAMBA服务器
# 创建共享目录
[root@metis oracle]# mkdir -p /smb/shareRoot
[root@metis oracle]# mkdir -p /smb/projectRoot
#备份配置文件
[root@metis oracle]# cd /etc/samba/
[root@metis samba]# ls
[root@metis samba]# cp smb.conf smb.conf.origin
[root@metis samba]# ls
lmhosts smb.conf smb.conf.origin
# 修改配置文件
[root@metis samba]# vim /etc/samba/smb.conf
[global]
workgroup = projectGroup
netbios name = metis
server string = Samba Server
security = user
map to guest = Bad User
[SHAREROOT]
path = /smb/shareRoot
readonly = yes
browseable = yes
guest ok = yes
[PROJECTROOT]
path = /smb/projectRoot
public = no
writable = yes
write list = @projectGroup
validusers = @projectGroup
验证配置文件
创建用户并分配权限
# 创建操作系统用户
[root@metis samba]# useradd david.tian
[root@metis samba]# useradd black.xie
[root@metis samba]# useradd josen.zhang
[root@metis samba]# useradd projectGroup
# 修改用户的组
[root@metis samba]# usermod -a -G projectGroup david.tian
[root@metis samba]# usermod -a -G projectGroup black.xie
[root@metis samba]# usermod -a -G projectGroup josen.zhang
[root@metis samba]# id david.tian
uid=1003(david.tian) gid=1004(david.tian) groups=1004(david.tian),1007(projectGroup)
#创建SAMBA用户
[root@metis samba]#
[root@metis samba]# smbpasswd -a david.tian
New SMB password:
Retype new SMB password:
Added user david.tian.
[root@metis samba]# smbpasswd -a black.xie
New SMB password:
Retype new SMB password:
Added user black.xie.
[root@metis samba]# smbpasswd -a josen.zhang
New SMB password:
Retype new SMB password:
Added user josen.zhang.
# 修改目录权限
[root@metis samba]# chown projectGroup:projectGroup /smb/projectRoot
[root@metis samba]# chmod 770 -R /smb/projectRoot/
# 查看服务状态
[root@metis samba]# ll -d /smb/projectRoot/
drwxrwx--- 2 projectGroup projectGroup 6 Dec 1 11:39 /smb/projectRoot/
# 启动smb,并设置为开机启动、查看启动状态
[root@metis samba]# systemctl restart smb.service
[root@metis samba]# systemctl enable smb.service
ln -s '/usr/lib/systemd/system/smb.service' '/etc/systemd/system/multi-user.target.wants/smb.service'
[root@metis samba]# systemctl status smb.service
防火墙设置
SAMBA 连通测试
本机:
Windows远程测试
本文系原创,转载请标明出处!