概念

  • SMB: Server Message Block
    即服务(器)消息块,是 IBM 公司在 80 年代中期发明的一种文件共享协议
  • CIFS: Common Internet File System
    即通用因特网文件系统。CIFS 是 SMB 协议的衍生品,即 CIFS 是 SMB 协议的一种特殊实现,由微软开发
  • Samba
    是一组不同功能程序组成的应用集合,它能让 Linux 服务器实现文件服务器、身份授权和认证、名称解析和打印服务等功能。与 CIFS 类似,Samba 也是 SMB 协议的实现,它允许 Windows 客户访问 Linux 系统上的目录、打印机和文件(就像访问 Windows 服务器时一样)。
  • NFS: Network File System
    即网络文件系统。由 Sun 公司面向 SMB 相同的功能(通过本地网络访问文件系统)而开发,但它与 CIFS/SMB 完全不兼容。NFS 用于 Linux 系统和客户端之间的数据共享。而 Windows 和 Linux 客户端混合使用时,就应该使用 Samba

问题

  • 权限问题
    当挂载CIFS文件系统(如samba)时,挂载目录的owner为root用户(只能以root用户mount)。作为普通用户,只具有读的权限。为了让普通用户具有对挂载文件夹的读写权限,需要挂载的时候指定挂载文件夹的owner和group。这样,被指定的用户就具有对共享文件夹的读写权限。
    sudo mount -t cifs -o username=${USER},password=${PASSWORD},uid=<user>,gid=<group> //server-address/folder /mount/path/on/ubuntu
  • 符号链接报错:
    cp: cannot create symbolic link XXX Operation not permitted:
    因为目标文件系统挂载的是smbfs,不支持符号链接

参考

CIFS 与 SMB 有什么区别?
Samba服务及多用户samba挂载

Samba安装及配置