Ubuntu-搭建Samba服务

Page content

Ubuntu-搭建Samba服务!

安装 Samba 服务端

# 更新源
apt update
# 安装 Samba 
apt install -y samba samba-common

配置 Samba 文件

  • 准备工作
# 编辑 /etc/vsftpd.conf 文件前,先将默认文件备份
cp /etc/samba/smb.conf /etc/samba/smb.conf.bak
cat /dev/null > /etc/samba/smb.conf
# 创建 Samba 共享目录
mkdir -p /samba/{public,smbgrp}
# 创建 Samba 用户组
addgroup smbgrp
# 创建 Samba 用户组的用户 ty
useradd wlz -G smbgrp
# 设置 ty 用户的smb密码
smbpasswd -a wlz
## useradd -g smbgrp -M -s /sbin/nologin lz
# 配置全局变量
vim /etc/samba/smb.conf
---
[global]
workgroup = WORKGROUP			# 全局工作组
server string = smbgrp Samba Server			# samba服务端描述
netbios name = ubuntu
log file = /var/log/samba/log.%m			# 开启smaba日志
max log size = 1000			# 设置smaba日志最大值
security = user			# 安全模式为用户认证模式,还有一种模式为 share,共享模式
dns proxy = no
passdb backend = smbpasswd			# 保存smb密码
smb passwd file = /etc/samba/smbpasswd			# 保存smb密码存放路径
---

设置匿名共享目录

# 设置匿名共享目录权限
chmod -R 0775 /samba/public
chown -R nobody:nogroup /samba/public
# 添加smb配置内容
vim /etc/samba/smb.conf
---
[global]
workgroup = WORKGROUP			# 全局工作组
server string = smbgrp Samba Server			# samba服务端描述
netbios name = ubuntu
log file = /var/log/samba/log.%m			# 开启smaba日志
max log size = 1000			# 设置smaba日志最大值
security = user			# 安全模式为用户认证模式,还有一种模式为 share,共享模式
dns proxy = no
passdb backend = smbpasswd			# 保存smb密码
smb passwd file = /etc/samba/smbpasswd			# 保存smb密码存放路径

[public]
comment = share file			共享文件夹注释
path = /samba/pubilc			共享文件夹路径
browsable = yes			允许浏览
writable = yes			可写
guest ok = yes
read only = no			可读写
force user = nobody			认证模式为nobody,即无需认证
---
# 重启服务
service smbd restart

设置用户认证

# 设置认证目录权限
chmod -R 0770 /samba/smbgrp
chown -R root:smbgrp /samba/smbgrp
# 添加smb配置内容
vim /etc/samba/smb.conf
---
[global]
workgroup = WORKGROUP			# 全局工作组
server string = smbgrp Samba Server			# samba服务端描述
netbios name = ubuntu
log file = /var/log/samba/log.%m			# 开启smaba日志
max log size = 1000			# 设置smaba日志最大值
security = user			# 安全模式为用户认证模式,还有一种模式为 share,共享模式
dns proxy = no
passdb backend = smbpasswd			# 保存smb密码
smb passwd file = /etc/samba/smbpasswd			# 保存smb密码存放路径

[public]
comment = share file			# 文件夹注释
path = /samba/public			# 文件夹路径
browsable = yes			# 允许浏览
writable = yes			# 可写
guest ok = yes
read only = no			# 可读写
force user = nobody			# 认证模式为nobody,即无需认证

[smbgrp]
comment = One Piece			# 文件夹注释
path = /samba/smbgrp			# 文件夹路径
valid users = @smbgrp			# 可以访问的用户,@smbgrp组,则属于这个组内的所有用户都可以访问,也可以是用 ,分隔用户如:valid users = user01,user02
guest ok = no
writable = yes			# 可写
browsable = no			# 不允许浏览,需要访问必须输入绝对路径访问
---
# 重启服务
service smbd restart

检测 smb 配置是否有误

testparm

扩展

# 若是有打印机自动连接
[printers]
comment = All Printers
browseable = no
path = /var/spool/samba
printable = yes
guest ok = no
read only = yes
create mask = 0700

## 设置匿名访问
public = yes	# 允许匿名
public = no		# 不允许匿名

## 设置访问用户
valid users = 用户名
valid users = @组名

## 设置目录只读
readonly = yes		# 只读
readonly = no		# 读写

## 设置目录可写
writable 格式:
writable = yes		# 读写
writable = no		# 只读
write list 格式:		# 可限制个别用户不能写入
write list = 用户名
write list = @组名