在linux中,samba是一个基于SMB协议的开源软件,是一个能让Linux系统应用Microsoft网络通讯协议的软件。samba软件既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。
本教程操作环境:linux5.9.8系统、Dell G3电脑。
一、Samba 概述
1. samba 简介
Samba 是在 Linux 和 UNIX 系统上实现 SMB 协议的一个免费软件,由服务器及客户端程序构成。
SMB 是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。
SMB 协议是 C/S 型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。
samba是一个能让Linux系统应用Microsoft网络通讯协议的软件,samba最大的功能就是可以用于Linux与windows系统直接的文件共享和打印共享,samba既可以用于windows与Linux之间的文件共享,也可以用于Linux与Linux之间的资源共享。
Samba的服务组成
1)SMB是samba 的核心启动服务,主要负责建立Linux samba服务器与samba客户机之间的对话, 验证用户身份并提供对文件和打印系统的访问,只有SMB服务启动,才能实现文件的共享,监听139 TCP端口。
2)NMB服务是负责解析用的,类似与DNS实现的功能,NMB可以把Linux系统共享的工作组名称与其IP对应起来,如果NMB服务没有启动,就只能通过IP来访问共享文件,监听137和138 UDP端口。
安装samba服务
yum -y install samba
查看安装状况
rpm -qa | grep samba
2. samba 监听端口
- tcp 端口相对应的服务是 smbd 服务,其作用是提供对服务器中文件、打印资源的共享访问
- udp 端口相对应的服务是 nmbd 服务,其作用是提供基于 NetBIOS 主机名称的解析
3. samba 进程
4. samba 用户
smbpasswd -a USERNAME
命令设置//smbpasswd 命令: -a Sys_User //添加系统用户为 samba 用户并为其设置密码 -d //禁用用户帐号 -e //启用用户帐号 -x //删除用户帐号 [root@localhost ~]# yum -y install samba-* [root@localhost ~]# useradd tom [root@localhost ~]# smbpasswd -a tom New SMB password: Retype new SMB password: Added user tom.
5. samba 安全级别
Samba 服务器的安全级别有三个,分别是 user,server,domain
- 以前的 samba 版本支持的安全级别有四个,分别是 share,user,server,domain
- share 是用来设置匿名访问的,但现在的版本已经不支持 share 了,但是还是可以实现匿名访问的只是配置方式变了
6. samba 配置文件
- /etc/samba/smb.conf(主配置文件)
7. 常用配置文件参数
#测试配置文件是否有语法错误,以及显示最终生效的配置。使用 testparm 命令 [root@localhost ~]# testparm Load smb config files from /etc/samba/smb.conf rlimit_max: increasing rlimit_max (1024) to minimum Windows limit (16384) Processing section "[homes]" Processing section "[printers]" Processing section "[print$]" Loaded services file OK. Server role: ROLE_STANDALONE ......
二、搭建匿名用户共享服务器(Linux - Linux)
1. 环境准备
systemctl stop firewalld && systemctl disable firewalld setenforce 0 yum -y install ntp && ntpdate ntp.aliyun.com //server hostnamectl set-hostname server su //client hostnamectl set-hostname client su
2. 服务端
yum -y install samba-* &> /dev/null systemctl start smb && systemctl enable smb #添加全局配置 vim /etc/samba/smb.conf ...... [global] workgroup = SAMBA security = user map to guest = Bad User ...... #创建共享文件夹 mkdir -p /opt/yc chmod 777 /opt/yc/ ll /opt/ #配置共享 cat >> /etc/samba/smb.conf << EOF [yc] comment = yc path = /opt/yc browseable = yes guest ok = yes writable = yes public = yes EOF #测试配置文件是否有误 testparm #重启服务 systemctl restart smb
3. 客户端
yum -y install samba-* &> /dev/null systemctl start smb && systemctl enable smb #客户端验证 smbclient -L 192.168.10.20 -U 'Bad User' #123456 mkdir -p /opt/smb mount -t cifs //192.168.10.20/yc /opt/smb/ -o username='Bad User' df -h #在客户端上创建共享目录,文件 cd /opt/smb/ && touch test && mkdir yanchuang ls
4. 服务端上验证
[root@server ~]#cd /opt/yc [root@server /opt/yc]#ls test yanchuang
三、Windows 访问共享文件
同网段 windows 虚拟机访问
不同网段 windows 虚拟机访问
- 需要认证
相关推荐:《Linux视频教程》
以上就是linux的samba是什么的详细内容,更多请关注自由互联其它相关文章!