概述

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

配置流程

  1. 安装
emerge net-fs/samba
  1. 修改配置文件
vim /etc/samba/smb.conf
[global]
   guest account = nobody
   netbios name = yan-laptop
   workgroup = WORKGROUP
   server string = Samba Server
   security = user
   load printers = no
   log file = /var/log/samba/log.%m
   max log size = 50
   wins support = yes
   dns proxy = no
   create mode = 0777
   force create mode = 0777
   directory mode = 0777
   force directory mode = 0777
[Share]
   path = /home/samba
   browseable = yes
   guest ok = yes
   writeable = yes
  1. 创建文件夹
mkdir -p /home/samba
  1. 修改smb验证密码
smbpasswd -a root
  1. 测试配置是否正确
testparm
  1. 启动服务
systemctl enable smbd
systemctl enable nmbd

打开windows主机,访问\\ip,输入root和密码,进行访问

配置samba服务端帐号

假设先安装的samba服务,然后再创建的系统用户

  1. 添加用户到samba
smbpasswd -a <username>
  1. 修改samba服务端使用帐号的密码
smbpasswd <username>

共享配置

服务端

[Share]
comment=vm_share
path=/share
browseable=yes
writable=yes
public = yes
force user = root
force group = root
#valid users=share
#guest ok=no
create mode=0777
force create mode=0777
directory mode=0777
force directory mode=0777

客户端

mount -t cifs -o credentials=/path/of/cred,uid=1000,gid=1000 //<ip>/share /path/of/dir

配置uid,gid普通用户才可以访问

参考链接

如何设置自定义用户密码
共享用户配置