Samba 服务介绍

发布时间: 更新时间: 总字数:871 阅读时间:2m 作者: IP上海 分享 网址

Samba 允许运行 Microsoft Windows 的计算机和运行 Unix 的计算机之间共享文件和打印。

介绍

  • Samba 是在 Linux/UNIX 系统上实现 SMB 协议的一个免费软件,由服务器和客户端程序构成,它能让 Linux 服务器实现文件服务器、身份授权和认证、名称解析和打印服务等功能。
    • Samba 也是 SMB 协议的实现
  • SMB(Server Messages Block,服务信息块) 是一种在局域网上共享文件和打印机的一种通信协议
  • CIFS(Common Internet File System) 通用因特网文件系统,CIFS 由美国微软公司开发

安装

服务端安装

# ubuntu
apt-get install samba samba-common -y

$ samba --version
Version 4.19.5-Ubuntu

# centos
yum install samba -y

服务端配置

  • 添加 /etc/hosts 添加 hostname 的解析

  • 创建分享的文件夹

sudo mkdir -p /data/samba
  • /etc/samba/smb.conf
# 在文件最后添加
[share]
   comment = share folder
   browseable = yes
   read only = no
   create mask = 0700
   directory mask = 0700
   valid users = root
   write list = root, @root
   path = /data/samba

   # 默认 samba 不支持软链接,需要配置如下 3 条规则,挂载参数需要指定 mfsymlinks
   # follow symlinks = yes
   # wide links = yes
   # unix extensions = no
  • 添加用户,用户名必须是系统存在的用户
$ smbpasswd -a root
New SMB password:
Retype new SMB password:
Added user root.
  • 重启服务
systemctl restart smbd.service nmbd.service
  • 监听端口
    • TCP:139 NetBIOS Name Server (NBNS) 端口,用于发现其他 Samba 服务器和工作站
    • TCP/UDP:445 用于 Server Message Block (SMB) 2.0/3.0 协议,该协议在网络中用于文件共享、打印共享和其他网络资源共享
  • 日志 /var/log/samba/

mac 客户端

  • Finder -> Go(前往) -> Connete to Server...(连接服务器)(Command+K) 输入,点击连接
# smb://主机IP或主机名/共享名
smb://192.168.179.159/share

ubuntu 挂载

# 安装客户端
sudo apt-get install cifs-utils

$ ls -lhart /usr/sbin/ | grep cifs
mount.smb3 -> mount.cifs
mount.cifs

# 帮助
$ man mount.smb3

# 挂载,uid,gid 使用 id 命令获取 数字或用户名
sudo mount.cifs //<ip>/<path> <local-path> -o rw,username=<user>,password=<pwd>,uid=<uid>,gid=<gid>

sudo mount -t cifs //server-address/folder /mount/path/on/local -o username=<user>,password=<PASSWORD>,uid=<user>,gid=<group>

# sudo mount.cifs //192.168.179.159/share /mnt -o rw,username=root,password=123456,uid=1000,gid=1000,mfsymlinks

# 也可放到 /etc/fstab 中自动挂载
//<ip>/<path> <local-path> cifs rw,username=<user>,password=<pwd>,uid=<uid>,gid=<gid> 0 0

windows 挂载

Windows 共享文件夹

F&Q

samba parse_dfs_path_strict: can’t parse hostname from path

  • /var/log/samba/log.xx 报如上错误,配置 valid users = "root"

host is down

到 samba 链路不通,或者先 umount 后重新挂载

CIFS: VFS: cifs_mount failed w/return code = -115

到 samba 链路不通。 cifs_mount failed w/return code = -115 错误通常表示:操作正在进行中 (Operation now in progress),这在网络文件系统挂载(如 CIFS/SMB)中,通常不是一个直接的错误,而是一个超时或重试机制的结果,或者更常见的是,在尝试连接或协商时出现了更深层次的网络或协议问题。

  • 检查:网络连接和防火墙;SMB 服务器状态和设置

CIFS: Unable to determine destination address

mount -t cifs 报错:

mount error(16): Device or resource busyRefer to the mount.cifs(8) manual page (e.g. man mount.cifs) and kernel log messages (dmesg)
  • /var/log/kern.log 错误信息
kernel: [] CIFS: Unable to determine destination address
  • 问题:系统在尝试连接到 CIFS/Samba 服务器之前,无法解析或确定您提供的服务器名称(主机名)对应的 IP 地址

参考

  1. https://en.wikipedia.org/wiki/Samba_(software)
本文总阅读量 次 本站总访问量 次 本站总访客数
Home Archives Categories Tags Statistics