Samba 服务介绍

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

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

介绍

  • SMB(Server Messages Block,信息服务块) 是一种在局域网上共享文件和打印机的一种通信协议
  • Samba 是在 Linux/UNIX 系统上实现 SMB 协议的一个免费软件,由服务器和客户端程序构成

安装

服务端安装

# 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 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.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"

参考

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