Samba服务部署
系统环境准备
1. 系统平台:CentOS Linux release 7.8.2003 (Core)
2. Samba版本:samba-4.10.4-10.el7.x86_64
3. Samba服务器IP:192.168.65.135
4. 关闭防火墙(CentOS7默认使用firewalld)
5. 关闭SELINUX
安装samba
1、centos光盘中含有samba软件包
[root@samba ~]# yum install -y samba
samba配置文件说明
vim /etc/samba/smb.conf
# See smb.conf.example for a more detailed config file or
# read the smb.conf manpage.
# Run 'testparm' to verify the config is correct after
# you modified it.
[global] //全局配置
workgroup = SAMBA
security = user
说明:设置用户访问Samba Server的验证方式,一共有四种验证方式。share|user|server
|domain
1. user:Samba Server共享目录只能被授权的用户访问,由Samba Server负责检查账号和密
码的正确性。账号和密码要在本Samba Server中建立。
2. domain:域安全级别,使用主域控制器(PDC)来完成认证。
3. samba 4 下参数security的值不再允许是share和server,建议使用user
4. samba 4 下如果希望有匿名访问共享,可将 map to guest = Bad User 打开。在
[global]节中加入map to guest =Bad User,
passdb backend = tdbsam
基于认用户认证试后台用户账号密码数据库
tdbsam: 该方式则是使用一个数据库文件来建立用户数据库。数据库文件叫passdb.tdb,默认
在/etc/samba目录下。passdb.tdb用户数据库 可以使用smbpasswd –a来建立Samba用户,不过要建立
的Samba用户必须先是系统用户。我们也可以使用pdbedit命令来建立Samba账户。
map to guest = bad user
这个配置的意思是将所有samba系统主机所不能正确识别的用户都映射成guest用户,这样其他主
机访问samba共享目录时就不再需要用户名和密码了,在定义共享部分添加guestok = yes。
printing = cups
printcap name = cups
load printers = yes
cups options = raw
[homes]
2.4.启动服务
三、应用实例
3.1.匿名共享
comment = Home Directories
valid users = %S, %D%w%S
browseable = No
read only = No
inherit acls = Yes
[printers] //共享打印机配置
comment = All Printers
path = /var/tmp
printable = Yes
create mask = 0600
browseable = No
[print$]
comment = Printer Drivers
path = /var/lib/samba/drivers
write list = @printadmin root
force group = @printadmin
create mask = 0664
directory mask = 0775
#以下是共享文件夹标识,表示登录samba打开时显示的文件夹名称。
[myshare]
comment = this is the info //comment是对该共享的描述,可以是任意字符串
path= /var/www //真实的共享路径
writable = yes //是否可写入
public = no //是否公开
browseable = yes //可以被所有用户在网上邻居中浏览到资源名称
guest ok = yes //可以让用户随意登录,匿名访问时需要打开
read only = no //是否只读
valid users = david,dave //用来指定允许访问该共享资源的用户。@表示组名
write list = zhangsan //用来指定可以在该共享下写入文件的用户。
启动服务
systemctl enable smb && systemctl start smb
systemctl enable nmb && systemctl start nmb