Linux网络文件共享服务之SAMBA 服务

本文介绍了SAMBA服务,它能实现Windows和UNIX相通。阐述了其功能,如在Linux中模仿SMB共享、实现身份认证等。还介绍了相关软件包、服务进程、主配置文件等,说明了客户端工具使用、Linux挂载CIFS文件系统、管理SAMBA用户及查看服务器状态的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

SAMBA 服务简介

  • SMB:Server Message Block 服务器消息块,IBM发布,
  • SMB最早是DOS网络文件共享协议,是Windows中的私有协议
  • CIFS:common internet file system,通用网络文件系统,微软基于SMB发布
  • SAMBA:1991年 Andrew Tridgell 实现 Windows和UNIX相通
  • 官方网站:http://www.samba.org/

SAMBA的功能:

  • 在Linux中模仿SMB共享
  • 共享文件和打印,实现在线编辑
  • 实现登录SAMBA用户的身份认证
  • 可以进行NetBIOS名称解析
  • 外围设备共享

Windows计算机网络管理模式:

  • 工作组WORKGROUP:计算机对等关系,帐号信息各自管理
  • 域DOMAIN:C/S结构,帐号信息集中管理,DC,AD

SAMBA 软件介绍

SAMBA相关软件包:

  • samba 提供smb服务器端
  • samba-client 客户端软件
  • samba-common 通用软件
  • cifs-utils smb客户端工具
  • samba-winbind 和AD相关

相关服务进程:

  • smbd 提供smb(cifs)服务 TCP:139,445
  • nmbd NetBIOS名称解析 UDP:137,138

主配置文件:

/etc/samba/smb.conf

帮助参看:

man smb.conf

语法检查:

testparm [-v] [/etc/samba/smb.conf]

客户端工具:

  • smbclient
  • mount.cifs

安装并启动服务器

dnf install samba
systemctl start smb
systemctl start nmb

SAMBA客户端工具

  • smbclient
  • UNC路径: Universal Naming Convention,通用命名规范,格式如下
    \\sambaserver\sharename

使用smbclient 访问SAMBA服务器

smbclient -L instructor.example.com
smbclient -L instructor.example.com -U smb用户%password
#可以使用-U选项来指定用户%密码,或通过设置和导出USER和PASSWD环境变量来指定
smbclient //instructor.example.com/shared -U wang
>cd directory
>get file1
>put file2

Linux挂载CIFS文件系统

mount -o user=sun,password=sun //server/shared /mnt/smb

实现开机自动挂载cifs

cat /etc/fstab
#可以用文件代替用户名和密码的输入
//server/homes /mnt cifs credentials或cred=/etc/smb.txt 0 0
cat /etc/smb.txt
username=sun #或 user=wang
password=123456 #或 pass=password
chmod 600 /etc/smb.txt
#此方法需要安装cifs-utils包

管理SAMBA用户

实现samba用户说明

  • 包:samba-common-tools
  • 工具:smbpasswd pdbedit
  • 用户数据库:/var/lib/samba/private/passdb.tdb
    说明:samba用户须是Linux用户,建议使用/sbin/nologin

管理用户命令

  • 添加 samba用户:
smbpasswd -a <user>
pdbedit -a -u <user>
  • 修改用户密码:
smbpasswd <user>
  • 删除用户和密码:
smbpasswd -x <user>
pdbedit -x -u <user>
  • 查看samba用户列表:
pdbedit -L -v

创建samba用户范例

#注意不要用-r 设为系统用户,因为不会生成家目录
[root@centos8 ~]#useradd -s /sbin/nologin smb1
[root@centos8 ~]#useradd -s /sbin/nologin smb2
[root@centos8 ~]#useradd -s /sbin/nologin smb3
[root@centos8 ~]#smbpasswd -a smb1
[root@centos8 ~]#smbpasswd -a smb2
[root@centos8 ~]#smbpasswd -a smb3
[root@centos8 ~]#pdbedit -L

useradd -s /sbin/nologin -p 123456 smb1

查看samba服务器状态:

smbstatus

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值