赞
踩
目录
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。原本SMB协议是windows和windows(网上邻居)之间分享资源的一种协议。Linux找到微软,也想把该协议用在window和Linux的文件共享上,可微软没有同意,于是Linux通过逆向方法实现了SMB协议,为了与SMB区分并将其取名为SAMBA协议。
Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资。
smaba最大的特点就是可以用于linux和windows之间进行文件共享和打印机共享samba不仅仅可以用于linux和windows之间。
samba还可以用于两台linux之间共享。
由于linux平台诞生了一个更好的工具,nfs网络文件共享系统,专门用于linux之间文件数据共享●因此samba更多是使用linux和windows之间。
服务名称 | 使用范围 | 服务器端 | 客户端 | 局限性 |
FTP | 局域网和公网 | Windows Linux | Windows Linux | 无法直接在服务器端修改数据 |
Samba | 内网 | Windows Linux | Windows Linux | 只能在内网使用 |
NFS | 内网和公网 | Linux | Linux | 只能在Linux之间使用 |
实验目的
在linux虚拟机上(centos7环境)搭建一个samba服务并且在windows客户端访问
- yum install -y samba //安装samba 服务
-
- yum list samba //列出软件包的信息
- yum remove samba //卸载软件包
- yum check-update samba //检查是否有可更新的软件包
- yum update samba //更新samba软件包
- systemctl start smb.service
- systemctl enable smb.service
-
- systemctl stop firewalld
- setenforce 0
- groupadd test
- useradd -M lichen -s /sbin/nologin/ -g test
- useradd -M zhangbin -s /sbin/nologin/ -g test
-
- id lichen
- id zhangbin
- -a, --create 新建samba用户
- -r, --modify 修改samba用户
- -x, --delete 删除samba用户
- -L, --list 列出全部samba用户,读取passdb.tdb数据库文件
- -v, --verbose 显示详细信息
- -c, --account-control=STRING 账户控制值
- -w, --smbpasswd-style 以smbpasswd格式输出
- -u, --user=USER 使用的用户
- -N, --account-desc=STRING 设置账户描述
- -f, --fullname=STRING 设置全名
- -h, --homedir=STRING 设置家目录
- -D, --drive=STRING 设置家设备
- -S, --script=STRING 设置登陆脚本
- -p, --profile=STRING 设置配置文件路径
- -I, --domain=STRING 设置用户域名
- -U, --user SID=STRING 设置用户SID或RID
- -M, --machine SID=STRING 设置设备SID或RID
- -m, --machine 账户是一个设备账户
- -b, --backend=STRING 使用不同的passdb作为默认后端
- -i, --import=STRING 指定后段导入用户账户
- -e, --export=STRING 导出用户账户到指定后端
- --policies-reset 恢复默认策略
- -P, --account-policy=STRING 帐户策略的值(如最大密码有效期)
- -C, --value=LONG 设置账号策略值
- --force-initialized-passwords 强制初始化passdb后端
- -z, --bad-password-count-reset 重置错误密码
- -Z, --logon-hours-reset 重置登陆时间
- --time-format=STRING 时间参数的格式
- -t, --password-from-stdin 从标准输入获取密码
- -K, --kickoff-time=STRING 设置开始时间
- --set-nt-hash=STRING 从nt-hash设置密码
- -d, --debuglevel=DEBUGLEVEL 设置debug级别
- -s, --configfile=CONFIGFILE 使用备用配置文件
- -l, --log-basename=LOGFILEBASE 设置日志文件的基本名称
- -V, --version 输出版本号
- --option=name=value 从命令行设置smb.conf选项
- -?, --help 显示帮助信息
- --usage 显示简要的使用信息
编辑配置文件,添加一个以test作为网络共享文件名的共享目录。
- vim /etc/samba/sbm.conf
-
- [test] #共享文件名称(也就是客户端访问时可以看到的那个名字)
- comment = this is test #共享文件夹的描述
- path = /home/ceshi #共享文件夹路径
- public = yes #是否允许guest账户访问
- writable =yes #是否有写权限
- directory mask = 0777 #默认创建目录权限
- create mask = 0777 #默认创建文件权限
- valid users = @test,root #设置允许访问共享目录的用户@后跟组名,不写此行就对所有用户开放
- write list = @test,root #设置有写权限的用户@后面跟的是组名
- browseable = yes #该指定共享目录可浏览
- available = yes #该指定共享资源可使用
testparm可以用来检测配置文件中是否有语法错误
- mkdir ceshi
- cd ceshi/
- echo "hello" > 1.txt
- mkdir yy
- chmod 777 ceshi/
- systemctl restart smb.service 启动服务
- systemctl reload smb.service 加载配置文件
-
- smbpasswd -a lichen # 将本地用户跟samba用户进行映射
- smbpasswd -a zhangbin
-
- pdbedit -a -u lichen
- pdbedit -a -u zhangbin
-
- pdbedit -L #查看加入samba服务的用户
win+R \\192.168.223.11
在客户端上创建文件测试
测试成功
session 2 两个端口的使用情况
可以在“网络连接/属性/TCPIP协议/属性/高级/WINS中设置启用或者禁用NBT(NetBIOS over TCP/IP)。
当计算机同时支持NTB和TCP/IP两种协议的时候,就面临着选择139或者445端口了。下面的情况确定会话使用的端口:
1、如果客户端启用了NBT,那么连接的时候将同时访问139和445端口,如果从445端口得到回应,那么客户端将发送RST到139端口,终止这个端口的连接,接着就从445端口进行SMB的会话了;如果没有从445端口而是从139得到回应,那么就从139端口进行会话;如果没有得到任何回应,那么SMB会话失败。
2、如果客户端禁用了NBT,他就将只从445端口进行连接。
3、如果服务器端启用NBT,那么就同时监听UDP 137、138端口和TCP139,445端口。如果禁用NBT,那么就只监听445端口了。
Samba是根据SMB协议实现的,主要用于Windows和Linux之间共享资源。139端口是在NBT协议基础上的,关闭NBT协议139就废了。而445端口是在TCP/IP协议基础上,现在网络中应该很少有不使用TCP/IP协议的了。最后如果主机两种协议同时支持的话(比如windowsxp以后的操作系统)那么共享访问时候的端口使用优先级为:445>139,所以现在UNC路径访问ip地址都是使用445端口,而访问主机名形式是使用139端口(现在基本不用了)。
关闭139端口的方法:“网络连接/属性/TCPIP协议/属性/高级/WINS中设置启用或者禁用NBT(NetBIOS over TCP/IP)
关闭445端口的方法:防火墙阻塞445端口或者禁用server服务都可以。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。