Ubuntu/Debian/Raspberry环境上,配置samba服务 20230309

需求描述:

在我的那台树莓派设备系统上,系统为Raspbian,安装samba服务,非常给力,好用。

而且,现在市面上多数的安卓智能电视,电视盒子,都支持samba,可以直接在家里通过该协议观看samba服务里的影视剧集。

推荐,仅在局域网环境下使用samba服务。在公网使用,性能差,且安全风险高。

20220420,文档更新校正,完善内容,增加samba多目录,samba权限控制,账号。

20230309,文档更新内容,增加Linux命令行下如何挂载samba卷。

第一章,服务器,SAMBA安装,过程非常简单

root@server:~# apt-get update
root@server:~# apt-get install samba

第二章,配置

先停止安装后自动开启的samba服务,然后修改配置文件

root@server:~# systemctl stop smbd

假设如下的几个是我的分享目录,创建几个目录

mkdir -p /media/HDD1TB/downloads /media/HDD1TB/ingDowns /media/HDD1TB/TVSHOW

为samba配置一个普通的用户,名字为fd

root@server:~# mkdir -p /home/fd
root@server:~# useradd -U -s '/bin/bash' -d '/home/fd' fd
root@server:~# chown -R fd:fd /home/fd
root@server:~# passwd fd  
root@server:~# chown -R fd:fd /media/HDD1TB/
root@server:~# chmod 777 /media/HDD1TB

root@server:~# usermod -aG fd debian-transmission # 我下载BT到这个目录,所以,把BT用户归纳到fd组

root@server:~# 
root@server:~# smbpasswd -a fd     # 增加samba用户 
root@server:~# smbpasswd -a root   # 增加samba用户
root@server:~# smbpasswd -x fd     # 删除samba用户,新建时,无需执行
root@server:~# smbpasswd -x root   # 删除samba用户,新建时,无需执行

修改配置文件 /etc/samba/smb.conf

// 配置的逻辑为, /media/HDD1TB这个目录root用户可以全部访问,而用户fd只能访问其中的子目录/media/HDD1TB/TVSHOW

[MULTI_SHARE]
comment = Multi Media Files Share
path = /media/HDD1TB
browseable = yes
valid users = root
force group = root
create mask = 0660
directory mask = 0771
writable = yes
read only = no
guest ok = no

[TV]
comment = TV SHOW ACCESS
path = /media/HDD1TB/TVSHOW
browseable = yes
valid users = fd
force group = fd
create mask = 0660
directory mask = 0771
writable = yes
read only = no
guest ok = no
// 查看SAMBA服务器上的版本
root@server:~# samba --version
Version 4.9.5-Debian
root@server:~#

// 查看当前SAMBA服务器的运行情况
root@server:~# smbstatus

root@VMSMB:~# smbstatus -p

Samba version 4.9.5-Debian
PID     Username     Group        Machine                                   Protocol Version  Encryption           Signing              
----------------------------------------------------------------------------------------------------------------------------------------
1799    nobody       nogroup      Dell (ipv4:10.11.11.179:54212)       NT1               -                    -                    
1142    fd           fd           10.11.11.179 (ipv4:10.11.11.179:5029)     SMB3_11           -                    partial(AES-128-CMAC)
1985    fd           fd           10.11.11.179 (ipv4:10.11.11.179:38794)    SMB3_11           -                    partial(AES-128-CMAC)
参数
MULTI_SHARE,TV 这些是你自定义的服务项的名称,后面客户端访问时候需要
comment 一些用于提醒的消息,这个一般都是配置提示
path 需要分享的目录
browseable 默认为yes,一般不需要修改

第三章,重启samba服务

root@server:~# systemctl restart smbd

第四章,客户端访问

1、Linux桌面环境

smb://ipaddress/MULTI_SHARE    # 如果用root访问

smb://ipaddress/TV   # 如果用普通用户fd访问

2、Windows桌面环境

\\ip-address\MULTI_SHARE

第五章,客户端访问,Linux的Shell 命令行环境

// 安装 smbclient 功能组件
# apt install smbclient

// 查看确认SAMBA服务器信息
# smbclient -L //SAMBA-SERVER-IP

// 安装cifs-utils 功能组件
// 支持的协议版本
// SMB 1
// SMB 2.0
// SMB 2.1
// SMB 3.0 带加密
# apt install cifs-utils

// 创建需要的挂载目录,并给到充足的读写权限,本地挂载目录,假设为 /SAMBA
# mkdir /SAMBA
# chmod 777 /SAMBA

// 执行挂载操作
// 参数 serverUserName SAMBA用户
// 参数 myServerIpAdress SAMBA服务地址
// 参数 sharename SAMBA服务配置的[MULTI_SHARE]分享名称
// 参数 /mnt/myFolder/  本地挂载目录,假设为 /SAMBA
# mount -t cifs -o username=serverUserName //myServerIpAdress/sharename /mnt/myFolder/
# mount -t cifs -o vers=3.0,username=fd,password=PassValid  //10.11.11.200/SD /SAMBA        




// 可选,增加一个用户名,密码的文件,共mount调用
// 参数 credentials=/path/samba/smb.token
// username=fd
// password=PassValid
// domain=WORKGROUP
# chmod 600 /path/samba/smb.token
# mount -t cifs -o credentials=./smb.token  //10.11.11.200/SD /SAMBA        

附录1、参考文档

https://www.samba.org/samba/docs/current/man-html/smb.conf.5.html

https://ubuntu.com/tutorials/install-and-configure-samba#4-setting-up-user-accounts-and-connecting-to-share

Ubuntu/Debian/Raspberry环境上,配置samba服务 20230309》有1个想法

  1. Pingback引用通告: 视频文件的目录索引 更新到2022-04-17 | Dasmz

发表回复

您的电子邮箱地址不会被公开。 必填项已用*标注