smb服务器的配置

SAMBA文件共享服务

Samba服务程序的配置方法与之前讲解的很多服务的配置方法类似,首先需要先通过Yum软件仓库来安装Samba服务程序

[root@localhost /]# yum -y install samba

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 samba.x86_64.0.4.6.2-8.el7 将被 安装
--> 正在处理依赖关系 samba-libs = 4.6.2-8.el7,它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 samba-common-tools = 4.6.2-8.el7,它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 samba-common-libs = 4.6.2-8.el7,它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libxattr-tdb-samba4.so(SAMBA_4.6.2)(64bit),它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libpopt-samba3-samba4.so(SAMBA_4.6.2)(64bit),它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libxattr-tdb-samba4.so()(64bit),它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libpopt-samba3-samba4.so()(64bit),它被软件包 samba-4.6.2-8.el7.x86_64 需要
--> 正在检查事务
---> 软件包 samba-common-libs.x86_64.0.4.6.2-8.el7 将被 安装
---> 软件包 samba-common-tools.x86_64.0.4.6.2-8.el7 将被 安装
---> 软件包 samba-libs.x86_64.0.4.6.2-8.el7 将被 安装
--> 正在处理依赖关系 libpytalloc-util.so.2(PYTALLOC_UTIL_2.1.9)(64bit),它被软件包 samba-libs-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libpytalloc-util.so.2(PYTALLOC_UTIL_2.1.6)(64bit),它被软件包 samba-libs-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libpytalloc-util.so.2(PYTALLOC_UTIL_2.0.6)(64bit),它被软件包 samba-libs-4.6.2-8.el7.x86_64 需要
--> 正在处理依赖关系 libpytalloc-util.so.2()(64bit),它被软件包 samba-libs-4.6.2-8.el7.x86_64 需要
--> 正在检查事务
---> 软件包 pytalloc.x86_64.0.2.1.9-1.el7 将被 安装
--> 解决依赖关系完成

已安装:
  samba.x86_64 0:4.6.2-8.el7                                                    

作为依赖被安装:
  pytalloc.x86_64 0:2.1.9-1.el7                                                 
  samba-common-libs.x86_64 0:4.6.2-8.el7                                        
  samba-common-tools.x86_64 0:4.6.2-8.el7                                       
  samba-libs.x86_64 0:4.6.2-8.el7                                               

完毕!

 Samba服务程序中的参数以及作用

[global]		#全局参数。
workgroup = MYGROUP	#工作组名称
server string = Samba Server Version %v	#服务器介绍信息,参数%v为显示SMB版本号
log file = /var/log/samba/log.%m	#定义日志文件的存放位置与名称,参数%m为来访的主机名
max log size = 50	#定义日志文件的最大容量为50KB
security = user	#安全验证的方式,总共有4种
#share:来访主机无需验证口令;比较方便,但安全性很差
#user:需验证来访主机提供的口令后才可以访问;提升了安全性
#server:使用独立的远程主机验证来访主机提供的口令(集中管理账户)
#domain:使用域控制器进行身份验证
passdb backend = tdbsam	#定义用户后台的类型,共有3种
#smbpasswd:使用smbpasswd命令为系统用户设置Samba服务程序的密码
#tdbsam:创建数据库文件并使用pdbedit命令建立Samba服务程序的用户
#ldapsam:基于LDAP服务进行账户验证
load printers = yes	#设置在Samba服务启动时是否共享打印机设备
cups options = raw	#打印机的选项
[homes]		#共享参数
comment = Home Directories	#描述信息
browseable = no	#指定共享信息是否在“网上邻居”中可见
writable = yes	#定义是否可以执行写入操作,与“read only”相反
[printers]		#打印机共享参数
comment = All Printers	
path = /var/spool/samba	#共享文件的实际路径(重要)。
browseable = no	
guest ok = no	#是否所有人可见,等同于"public"参数。
writable = no	
printable = yes

用于设置Samba服务程序的参数以及作用

参数	作用
[database]	共享名称为database
comment = Do not arbitrarily modify the database file	警告用户不要随意修改数据库
path = /home/database	共享目录为/home/database
public = no	关闭“所有人可见”
writable = yes	允许写入操作

 配置共享资源

 

第1步:创建用于访问共享资源的账户信息。在RHEL 7系统中,Samba服务程序默认使用的是用户口令认证模式(user)。这种认证模式可以确保仅让有密码且受信任的用户访问共享资源,而且验证过程也十分简单。不过,只有建立账户信息数据库之后,才能使用用户口令认证模式。另外,Samba服务程序的数据库要求账户必须在当前系统中已经存在,否则日后创建文件时将导致文件的权限属性混乱不堪,由此引发错误。

pdbedit命令用于管理SMB服务程序的账户信息数据库,格式为“pdbedit [选项] 账户”。在第一次把账户信息写入到数据库时需要使用-a参数,以后在执行修改密码、删除账户等操作时就不再需要该参数了

 用于pdbedit命令的参数以及作用

参数	      作用
-a 用户名	建立Samba用户
-x 用户名	删除Samba用户
-L	        列出用户列表
-Lv	        列出用户详细信息的列表

[root@localhost /]# id chenjin
uid=1000(chenjin) gid=1000(chenjin) 组=1000(chenjin),10(wheel)
[root@localhost /]# pdbedit -a -u chenjin
new password:
retype new password:

[root@localhost /]# id chenjin
uid=1000(chenjin) gid=1000(chenjin) 组=1000(chenjin),10(wheel)
[root@localhost /]# pdbedit -a -u chenjin
new password:
retype new password:
Unix username:        chenjin
NT username:          
Account Flags:        [U          ]
User SID:             S-1-5-21-1529196391-3003712838-3634782392-1000
Primary Group SID:    S-1-5-21-1529196391-3003712838-3634782392-513
Full Name:            chenjin
Home Directory:       \\localhost\chenjin
HomeDir Drive:        
Logon Script:         
Profile Path:         \\localhost\chenjin\profile
Domain:               LOCALHOST
Account desc:         
Workstations:         
Munged dial:          
Logon time:           0
Logoff time:          三, 06 2月 2036 23:06:39 CST
Kickoff time:         三, 06 2月 2036 23:06:39 CST
Password last set:    三, 28 3月 2018 16:33:33 CST
Password can change:  三, 28 3月 2018 16:33:33 CST
Password must change: never
Last bad password   : 0
Bad password count  : 0
Logon hours         : FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF


第2步:创建用于共享资源的文件目录。在创建时,不仅要考虑到文件读写权限的问题,而且由于/home目录是系统中普通用户的家目录,因此还需要考虑应用于该目录的SELinux安全上下文所带来的限制。在前面对Samba服务程序配置文件中的注释信息进行过滤时,这些过滤的信息中就有关于SELinux安全上下文策略的说明,我们只需按照过滤信息中有关SELinux安全上下文策略中的说明中给的值进行修改即可。修改完毕后执行restorecon命令,让应用于目录的新SELinux安全上下文立即生效。

[root@localhost network-scripts]# mkdir /home/database  //创建/home/database文件
[root@localhost network-scripts]# chown -Rf chenjin:chenjin /home/database/   //给权限

[root@localhost home]# ll
drwxr-xr-x   3 chenjin chenjin   15 3月  29 14:08 database

[root@localhost network-scripts]# vim /etc/samba/smb.conf

[global]
 workgroup = MYGROUP
 server string = Samba Server Version %v
 log file = /var/log/samba/log.%m
 max log size = 50
 security = user
 passdb backend = tdbsam
 load printers = yes
 cups options = raw
[database]
 comment = Do not arbitrarily modify the database file
 path = /home/database
 public = no
 writable = yes

[root@localhost network-scripts]# systemctl restart smb   \\重启samba服务器

[root@localhost network-scripts]# systemctl enable smb  \\开机启动samba服务器

输入\\192.168.1.64

 Linux挂载共享

上面的实验操作可能会让各位读者误以为Samba服务程序只是为了解决Linux系统和Windows系统的资源共享问题而设计的。其实,Samba服务程序还可以实现Linux系统之间的文件共享。设置Samba服务程序所在主机(即Samba共享服务器)和Linux客户端使用的IP地址,然后在客户端安装支持文件共享服务的软件包(cifs-utils)。

客户机:

[root@localhost core]# yum install -y cifs-utils

已加载插件:fastestmirror, langpacks
Loading mirror speeds from cached hostfile
正在解决依赖关系
--> 正在检查事务
---> 软件包 cifs-utils.x86_64.0.6.2-10.el7 将被 安装
--> 解决依赖关系完成

依赖关系解决

================================================================================
 Package             架构            版本                源                大小
================================================================================
正在安装:
 cifs-utils          x86_64          6.2-10.el7          CentOS7           85 k

事务概要
================================================================================
安装  1 软件包

总下载量:85 k
安装大小:175 k
Downloading packages:
Running transaction check
Running transaction test
Transaction test succeeded
Running transaction
  正在安装    : cifs-utils-6.2-10.el7.x86_64                                1/1 
  验证中      : cifs-utils-6.2-10.el7.x86_64                                1/1 

已安装:
  cifs-utils.x86_64 0:6.2-10.el7                                                

完毕!

 

在Linux客户端,按照Samba服务的用户名、密码、共享域的顺序将相关信息写入到一个认证文件中。为了保证不被其他人随意看到,最后把这个认证文件的权限修改为仅root管理员才能够读写:

 

[root@localhost core]# vim auth.smb

username=chenjin
password=123456789
domain=MYGROUP

[root@localhost ~]# chmod -Rf 600 auth.smb

[root@localhost ~]# mkdir /database

[root@localhost ~]# vim /etc/fstab

在最后一行添加

#
# /etc/fstab
# Created by anaconda on Wed Dec  6 18:30:36 2017
#
# Accessible filesystems, by reference, are maintained under '/dev/disk'
# See man pages fstab(5), findfs(8), mount(8) and/or blkid(8) for more info
#
UUID=b3ab97c9-db0b-4552-9a38-11fd2fa95a9e /                       xfs     defaults        0 0
UUID=33a415da-a232-4621-b531-21b2a50a85eb /boot                   xfs     defaults        0 0
UUID=2bcef926-119a-42b1-acdf-06585b398ba0 swap                    swap    defaults        0 0
/dev/cdrom                            /mnt                        iso9660 defaults        0 0
//192.168.1.64/database /database cifs credentials=/root/auth.smb 0 0//192.168.1.64/database /database cifs credentials=/root/auth.smb 0 0

[root@localhost ~]# mount -a

Linux客户端成功地挂载了Samba服务的共享资源。进入到挂载目录/database后就可以看到Windows系统访问Samba服务程序时留下来的文件了(即文件1.txt)。当然,我们也可以对该文件进行读写操作并保存。

 

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值