samba 服务搭建

目录

引言:

一、samba 简介

二、samba 服务的特点

三、samba的主要应用

四、常见文件服务器软件的比较

五、samba服务搭建 

         5.1 安装Samba服务

5.2 启动服务

5.3 创建用户

5.4 pdbebit 参数说明

5.5 修改配置文件 

5.6 创建共享文件夹

5.7 设置samba用户登陆密码 

六、windows客户端验证 

七、总结 

引言:

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。原本SMB协议是windows和windows(网上邻居)之间分享资源的一种协议。Linux找到微软,也想把该协议用在window和Linux的文件共享上,可微软没有同意,于是Linux通过逆向方法实现了SMB协议,为了与SMB区分并将其取名为SAMBA协议。

一、samba 简介

Samba是在Linux和UNIX系统上实现SMB协议的一个免费软件,由服务器及客户端程序构成。SMB(Server Messages Block,信息服务块)是一种在局域网上共享文件和打印机的一种通信协议,它为局域网内的不同计算机之间提供文件及打印机等资源的共享服务。SMB协议是客户机/服务器型协议,客户机通过该协议可以访问服务器上的共享文件系统、打印机及其他资源。通过设置“NetBIOS over TCP/IP”使得Samba不但能与局域网络主机分享资源,还能与全世界的电脑分享资。

二、samba 服务的特点

smaba最大的特点就是可以用于linux和windows之间进行文件共享和打印机共享samba不仅仅可以用于linux和windows之间。
samba还可以用于两台linux之间共享。
由于linux平台诞生了一个更好的工具,nfs网络文件共享系统,专门用于linux之间文件数据共享●因此samba更多是使用linux和windows之间。

三、samba的主要应用

  1. 文件共享(最主要作用)
  2. 打印服务器
  3. samba登陆时身份验证
  4. 由于samba基于Netbios,所以可以进行 windows的主机名解析

四、常见文件服务器软件的比较

服务名称使用范围服务器端客户端局限性
FTP局域网和公网

Windows

Linux

Windows

Linux

无法直接在服务器端修改数据
Samba内网

Windows

Linux

Windows

Linux

只能在内网使用
NFS内网和公网LinuxLinux只能在Linux之间使用

五、samba服务搭建 

实验目的

在linux虚拟机上(centos7环境)搭建一个samba服务并且在windows客户端访问

5.1 安装Samba服务

yum install -y samba        //安装samba 服务
 
yum list samba            //列出软件包的信息
yum remove samba          //卸载软件包
yum check-update samba    //检查是否有可更新的软件包
yum update samba          //更新samba软件包

5.2 启动服务

systemctl start smb.service
systemctl enable smb.service
 
systemctl stop firewalld
setenforce 0

5.3 创建用户

groupadd test
useradd -M lichen -s /sbin/nologin/ -g test
useradd -M zhangbin -s /sbin/nologin/ -g test
 
id lichen
id zhangbin

5.4 pdbebit 参数说明

  -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                            显示简要的使用信息

5.5 修改配置文件 

编辑配置文件,添加一个以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可以用来检测配置文件中是否有语法错误

5.6 创建共享文件夹

mkdir ceshi
cd ceshi/
echo "hello" > 1.txt
mkdir yy
chmod 777 ceshi/

systemctl  restart smb.service 启动服务
systemctl  reload smb.service 加载配置文件

5.7 设置samba用户登陆密码 


smbpasswd -a lichen         # 将本地用户跟samba用户进行映射
smbpasswd -a zhangbin
 
pdbedit -a -u lichen
pdbedit -a -u zhangbin
 
pdbedit -L            #查看加入samba服务的用户

六、windows客户端验证 

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服务都可以。

  • 9
    点赞
  • 41
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在 Ubuntu 18.04 上搭建 Samba 服务器可以通过以下步骤完成: 1. 首先,确保你的系统是最新的,可以运行以下命令进行系统更新: ``` sudo apt update sudo apt upgrade ``` 2. 安装 Samba 服务器软件包,可以运行以下命令进行安装: ``` sudo apt install samba ``` 3. 在安装完成后,编辑 Samba 的主配置文件 `/etc/samba/smb.conf`,可以使用以下命令进行编辑: ``` sudo nano /etc/samba/smb.conf ``` 4. 在配置文件中,你可以定义共享的文件夹和访问权限。在文件的末尾,你可以添加以下示例配置来创建一个共享名为 "share" 的文件夹: ``` [share] comment = Shared Folder path = /path/to/shared/folder browsable = yes guest ok = yes read only = no create mask = 0777 directory mask = 0777 ``` 请确保将 `/path/to/shared/folder` 替换为你实际要共享的文件夹路径。 5. 保存并关闭文件。然后,重新启动 Samba 服务以使更改生效: ``` sudo service smbd restart ``` 6. 默认情况下,Samba 使用的是系统用户认证。你可以使用以下命令为 Samba 创建一个用户,并为该用户设置密码: ``` sudo smbpasswd -a username ``` 将 "username" 替换为你要创建的用户名。 7. 最后,你可以通过其他计算机上的文件管理器或命令行窗口访问 Samba 共享。输入以下地址进行访问: ``` smb://<ip-address>/share ``` 将 "<ip-address>" 替换为运行 Samba 的 Ubuntu 18.04 的 IP 地址。 这样,你就可以在 Ubuntu 18.04 上成功搭建一个 Samba 服务器,并共享文件夹。希望对你有所帮助!如有其他问题,请随时提问。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值