运行环境
系统版本:CentOS Linux release 7.3.1611
软件版本:Samba-4.6.2
硬件要求:无
安装过程
1、基础网络配置
配置一个静态IP,关闭防火墙、SeLinux
[root@localhost ~]# systemctl stop firewalld
[root@localhost ~]# setenforce 0
2、安装YUM源,由EPEL提供
[root@localhost ~]# rpm -i https://dl.fedoraproject.org/pub/epel/epel-release-latest-7.noarch.rpm
3、安装Samba
[root@localhost ~]# yum -y install samba
4、编辑配置文件
[root@localhost ~]# vi /etc/samba/smb.conf
#=全局配置=#
[global]
workgroup = SAMBA
#设置工作组或域名
netbios name = sambaserver
#设置一个NetBios名
security = user
#设置安全模式。Samba有三种安全模式用于用户身份验证:
# user :用户名/密码认证方式,需要本地创建一个用户名和密码
# share :匿名访问方式,不需要验证身份
# server:代理认证方式,使用其他Windows NT或Samba服务器来验证身份
# domain:域用户/密码认证方式,使用域控制器(PDC)来验证身份
passdb backend = tdbsam
#设置User模式下用户名和密码存储的方式:保持默认就好
#smbpasswd :使用“.sambpasswd”文件存储用户名和密码,默认在“/etc/samba”目录下创建
#tdbsam :使用“.tdb”文件存储用户名和密码,默认在“/etc/samba”目录下创建
#ldapsam :使用基于LDAP目录服务的方式进行身份认证,前提是需要建立LDAP服务,需要指定LDAP服务器的地址“passdb backend = ldapsam:ldap://LDAP server”
#printing = cups
#printcap name = cups
#load printers = yes
#cups options = raw
#共享打印机相关配置,我们可以注释他们
log file = /var/log/samba/samba.log
#设置日志文件路径
max log size = 50
#设置日志文件大小,单位为KB。当日志文件积累到指定大小时,会自动分割日志
max connections = 0
#设置最大客户端连接数,0表示不限制
hosts allow = 192.168.1.0/24
#访问控制,设置只允许哪些主机访问,可以是地址也可以是一个网段
username map = /etc/samba/smbusers
#开启Samba别名映射功能,可以把一个用户映射成一个别名,隐藏真实用户身份,增加安全性。只需要在这个文件中增加内容即可,书写格式:用户 = 别名
map to guest = bad user
#将所有Samba不能正确识别的用户都映射成“guset”来宾用户
guest account = nobody
#给来宾用户设置一个名字
#=创建一个共享=#
[guest]
#共享名
comment = guest
#描述信息
path = /home/guest
#共享目录位置
read only = yes
#设置为只读
guest ok = yes
#允许来宾用户访问
#=创建一个共享=#
[share]
#共享名
comment = share
#描述信息
path = /data-share
#共享目录
writable = yes
#是否允许被局域网内其他用户浏览到共享,是
read only = no
#用户对目录是否拥有只读权限。否
writable = yes
#用户对目录是否拥有可写权限。是
public = no
#是否允许所有人访问,否
valid users = tom
#那哪些人能够访问那,只允许用户“tom”访问,如果是一个用户组的话则“@tom”
write list = tom
#那哪些人能够对共享目录具有写入权限那,只允许用户“tom”写入,如果是一个用户组的话则“@tom”
create mask = 0755
#用户在上传文件到共享目录的文件权限。0777表示可读可写可执行
5、创建一个共享用户,创建共享用户的前提是该用户是系统用户
[root@localhost ~]# useradd -M -s /sbin/nologin tom => 创建系统用户“tom”。“-M”表示不创建家目录。“-s /sbin/nologin”表示该用户不用于系统登录。
[root@localhost ~]# pdbedit -a -u tom => 创建共享用户“tom”
[root@localhost ~]# pdbedit -L => 查看所有共享用户
[root@localhost ~]# pdbedit -x tom => 删除一个共享用户
6、创建共享目录,并授权
[root@localhost ~]# mkdir /data-share
[root@localhost ~]# chown -R tom.tom /data-share
[root@localhost ~]# ll / |grep data-share
drwxr-xr-x. 2 tom tom 6 Mar 15 05:38 data-share
7、开启服务
[root@localhost ~]# systemctl start smb
[root@localhost ~]# systemctl start nmb
[root@localhost ~]# netstat -lnupt |grep :445
tcp 0 0 0.0.0.0:445 0.0.0.0:* LISTEN 39363/smbd
[root@localhost ~]# netstat -lnupt |grep :137
udp 0 0 172.17.255.255:137 0.0.0.0:* 39379/nmbd
8、使用“testparm -v -s”可以查看Samba的所有配置
[root@localhost ~]# testparm -v -s
9、使用Samba客户端访问共享目录,可能需要安装Samba-Client
[root@localhost ~]# yum -y install samba-client => 安装Samba客户端
[root@localhost ~]# smbclient -U tom //192.168.1.177/share => 使用IP地址访问共享,后面接的是共享名哦,不是共享目录。
[root@localhost ~]# smbclient -U tom //sambaserver/share => 使用Netbios名访问共享
[root@localhost ~]# mount -o username=tom,password=tom //192.168.1.177/share /mnt => 将共享目录挂载到本地