samba文件共享服务笔记
Posted 醉人与轩
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了samba文件共享服务笔记相关的知识,希望对你有一定的参考价值。
一、samba文件共享服务
Samba(文件共享)是开源软件,它在Linux/UNIX系统中实现了微软的SMB(服务消息块)/CIFS(通用互联网文件系统)
网络协议,可以跨平台windows和Linux/UNIX混和使用
1、samba的作用和特点
1)samba的作用
Linux操作系统的文件共享服务
2)samba特点
开源免费
跨平台支持Windows和Linux
灵活性强
安全性强
2、samba支持的协议类型
1)nmb
监听UDP协议的137和138端口
提供通过域名访问samba服务器
2)smb
服务消息块
监听TCP协议139端口
提供Linux系统访问samba共享
3)CIFS
通用互联网文件系统
监听TCP协议的445端口
Windows系统访问samba服务使用
samba的组件
smbd负责为客户机提供服务器中共享资源的访问
监听TCP协议的139端口(SMB协议),445端口(CIFS协议)
nmbd负责提供基于NetBios协议的主机名称解析,
监听UDP吸引的137-138端口(NetBIOS协议)
以便为Windows网络中的主机进行查询服务
3、安装samba服务
1)安装服务器和客户端
[root@centos01 ~]# yum -y install samba samba-client
2)启动samba服务
[root@centos01 ~]# systemctl start smb
[root@centos01 ~]# systemctl start nmb
[root@centos01 ~]# systemctl enable smb
[root@centos01 ~]# systemctl enable nmb
3)检查主配置文件是否配置错误
[root@centos01 ~]# testparm
二、配置samba服务
1、samba配置文件位置和常见配置选项
1)samba主配置文件位置
/etc/samba/smb.conf
2)主配置文件常见的选项
[global]:全局配置
[homes]:共享用户宿主目录
[printers]:配置共享打印机
3)主配置文件常见参数
security:user表示身份验证访问,server转向其他samba服务器验证,ads域验证
path:共享数据根目录
comment:共享目录说明
read only:只读
write list:允许写入
valid users:允许哪些用户访问samba
guest ok:允许所有人访问
samba服务器全局配置
全局配置
常用
workgroup 指定工作组名称
server string 主机注释信息
security 设置安全级别 share user server domain
log file 日志文件位置
passdb backend = tdbsam 设置共享账户文件的类型 密码数据库格式
username map = /etc/samba/smbusers 指定用户别名目录
不常用
max log size = 50 日志文件达到50k,将轮循rotate,单位KB
netbios name 指定NetBIOS名
interfaces 指定服务侦听接口和ip
hosts allow = 192.168.100.1 可用“,”,空格,或tab分隔,默认允许所有主机访问,也可在每个共享独立配置。
hosts deny = 192.168.100.1 拒绝指定主机访问
config file = /etc/samba/conf.d/%U 用户独立的配置文件
Log level = 2 日志级别,默认为0,不记录日志
samba服务共享目录配置”
每个共享目录应该有独立的[ ]部分
[共享名称] 远程网络看到的共享名称
常用
comment 注释信息
path 所共享的目录路径
browsable 是否允许所有用户浏览此共享(设置共享目录是否在网上邻居中可见),默认为yes,no为隐藏
guest ok 是否允许所有人访问
writeable = yes 设置共享目录是否可写 可以被所有用户读写,默认为no
read only = no 默认只读
valid users 特定用户才能访问该共享,如为空,将允许所有用户访问,用户名之间用空格分隔
public 能否被guest访问的共享,默认为no,和guest ok类似
read only = no 和 writeable = yes 等价,如与以上设置发生冲突,放在后面的设置生效,默认只读
write list 三种形式:用户,@组名(如writeable=no,列表中用户或组可读写,不在列表中用户只读)
directory mask = 0755 上传目录的权限
create mask = 0644 上传文件的权限
简单的samba共享1
安装
yum -y install samba
配置
vim /etc/samba/smb.conf
[global]
security = user 设置安全级别
username map = /etc/samba/smbusers 指定用户别名目录
[share]
comment = share 注释信息
path = /opt/share 所共享的目录路径
public = no 是否允许所有用户访问
read only = yes 是否只读
valid users = user1 user2 指定用户可访问 @表示组
write list = user1 用户可写
directory mask = 0755 上传目录的权限
create mask = 0644 上传文件的权限
别名文件
user1 = zhangsan
验证samba需要专门的共享用户要有对应的系统用户密码可以不一样
pdbedit -a -u user1 创建共享用户
pdbedit -L 列出所有的共享用户
pdbedit -vL 查看指定共享用户的详细信息
pdbedit -x -u user1 删除共享用户
net use* /delete 刷新共享连接
启动
systemctl start smb
systemctl start nmb
客户端访问samba服务器
smbclient -U 用户 //samba服务器地址/共享名称
查看smb服务共享
smbclient -L samba服务器地址
lcd 切换目录
mget 下载文件
quit 退出
挂载共享文件夹
mkdir /media/smbdir
mount -o username=user1 //192.168.100.10/share /media/smbdir
2、配置身份验证samba共享2
1)创建系统用户
[root@centos01 ~]# useradd bob
[root@centos01 ~]# useradd tom
2)将用户添加为samba用户
[root@centos01 ~]# pdbedit -a -u bob
[root@centos01 ~]# pdbedit -a -u tom
3)查看samba账户信息
[root@centos01 ~]# pdbedit -vL bob
4)删除samba账户
[root@centos01 ~]# pdbedit -x bob
5)创建共享目录
[root@centos01 ~]# mkdir /benet
6)修改samba主配置文件
[root@centos01 ~]# vim /etc/samba/smb.conf
[global]
security = user //配置身份验证samba服务器
[benet] //共享名字
path = /benet //共享根目录
comment = share benet //共享目录说明
valid users = bob,tom //允许bob和tom访问
read only = yes //只读
write list = tom //允许tom写入数据
create mask = 0664 //创建文件权限
directory mask = 0755 //创建目录权限
7)重新启动samba服务
[root@centos01 ~]# systemctl restart smb
[root@centos01 ~]# systemctl restart nmb
8)查询共享是否成功
[root@centos01 ~]# smbclient -L 192.168.100.10 -U bob
3、共享账户的映射,配置将bob应用映射别名zhangsan、lisi,tom映射账户wangwu、zhaoliu
1)开启别名映射
[root@centos01 ~]# vim /etc/samba/smb.conf
[global]
username map = /etc/samba/cname
2)编辑别名配置文件
[root@centos01 ~]# vim /etc/samba/cname
bob = zhangsan,li
tom = wangwu,zhaoliu
4、samba访问控制列表
1)samba访问控制列表类型
hosts deny:拒绝网络或者主机
hosts allow:允许主机或者网络
2)拒绝主机192.168.100.30访问samba
[root@centos01 ~]# vim /etc/samba/smb.conf
[global]
hosts deny = 192.168.100.30
3)重新启动服务
[root@centos01 ~]# systemctl restart smb
[root@centos01 ~]# systemctl restart nmb
5、samba客户端使用
1)安装samba客户端
[root@centos02 ~]# yum -y install samba-client
2)samba登录共享
[root@centos02 ~]# smbclient //192.168.100.10/benet -U tom //登录
smb: \\> get 1.iso //下载
smb: \\> put 2.iso //上传
3)使用mount.cifs挂载samba
[root@centos02 ~]# mount.cifs -o username=tom //192.168.100.10/benet /mnt
复习
1, samba服务器中主要包括哪几个服务程序?各自的作用及监听端口是什么?
Smbd为客户机提供服务器共享资源的访问 tcp协议的139端口
Nmbd提供基于netblos协议的主机名称解析?
2, 在samba服务器的主配置文件中,[homes]配置段的作用?
设置Linux用户的默认共享,对应用户的宿主目录
3, 在samba服务器的主配置文件中,[global]配置段的作用
这部分设置对整个服务器生效
4, samba服务器的安全级别为什么时,需指定另一台服务器来验证用户名及密码?
user
5, 什么工具可以对smb.conf配置文件的正确性检查,如果发现有错误进行提醒?
Testparm
6, 在linux操作系统中执行什么命令可以将用户vina添加为samba共享用户?
pdbedit -a -u vina
7, Samba服务器共享目录配置段中添加射门配置时设置共享目录的授权用户为mike,sun?
valid users = mike,sun
8, samba服务器的共享目录配置文件中的userame map配置项的作用是什么?
指定用户别名目录
9, samba服务器的主配置文件中hosts allow=192.168.4.173.17配置项的作用是什么?
允许192.168.4.17主机访问
10, Linux操作系统中执行mount -o username=hunter //192.168.4.11/tools /media/smbdir/命令的作用是什么?
挂载共享文件夹
以上是关于samba文件共享服务笔记的主要内容,如果未能解决你的问题,请参考以下文章
Linux ❀ RHCE自研教学笔记 - Redhat 8.2 Samba服务教研笔记