Debian12 配置 samba 服务
一 、samba共享 基本设置
1、安装samba+samba自启动+重启samba
1
|
apt-get update && apt install samba && systemctl enable smb && service smbd restart
|
2、新建samba用户+设置密码
1
|
useradd admin && smbpasswd -a admin
|
二 、Debian为samba服务端配置
1 、备份samba配置文件
1
|
cp -i /etc/samba/smb.conf /etc/samba/smb.conf.bak && ls /etc/samba
|
2 、方法一、覆盖samba配置文件+重启samba+开机自启动samba
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
|
mkdir -pm 755 /mnt && chmod +x /etc/samba/smb.conf && cat > /etc/samba/smb.conf <<'EOF'
###################################
######## samba全局配置 ########
[global]
## 设置工作组名称
workgroup = WORKGROUP
## 设置非活动连接被关闭的时间(分钟)
deadtime = 99
## 服务器描述字符串
server string = Samba on Debian
## 设置网络基本输入/输出系统(NetBIOS)名称
netbios name = Debian
## Unix字符集设置为UTF-8
unix charset = UTF-8
## 禁用核心转储
enable core files = no
## 设置安全模式为用户级别
security = user
## 将未知用户映射为访客
map to guest = Bad User
## 设置socket选项,优化网络传输性能
socket options = IPTOS_LOWDELAY TCP_NODELAY
## 设置最大传输单元大小
max xmit = 131072
## 设置最小接收文件大小,用于异步I/O操作
min receivefile size = 131072
## 启用假的机会锁
fake oplocks = Yes
## 启用sendfile系统调用,提高文件传输效率
use sendfile = Yes
## 设置异步I/O读取阈值,0表示禁用
aio read size = 0
## 设置异步I/O写入阈值,0表示禁用
aio write size = 0
## 设置服务器支持的最低SMB协议版本
server min protocol = NT1
## 允许使用NTLMv1认证方式
ntlm auth = ntlmv1-permitted
## 禁用自动加载printcap打印机
load printers = No
## 设置打印服务不使用printcap
printcap name = /dev/null
## 禁用SPOOLSS服务
disable spoolss = yes
## 设置打印机状态信息的解释方式
printing = bsd
## 设置通过MDNS广告的服务器名称
mdns name = mdns
## 设置Samba不共享的文件和目录列表
veto files = /Thumbs.db/.DS_Store/._.DS_Store/.apdisk/
## 允许删除只包含veto文件的目录
delete veto files = yes
# 设置无效用户
# invalid users = root
## 指定服务器应该监听 SMB 流量的端口。
## 139 是 netbios/nmbd
# smb ports = 445 139
######## 我的samba共享设置 ########
[Debian]
## 这是我的共享名称
comment = mysamba
## 共享目录的路径
path = /mnt
## 指定共享是否应该在网络邻居中被浏览到,yes显示共享名称,no隐藏共享名称。
browseable = yes
## 是否允许用户写入此共享,yes为可写入,no为不可写入。
writeable = yes
## 指定共享用户是否可读写,yes为只读,no为读写。
read only = no
## 新建文件的默认权限掩码
create mask = 0777
## 新建目录的默认权限掩码
directory mask = 0777
## 允许访客否
guest ok = no
## 强制用户为root
force user = root
## 强制组为root
force group = root
## 定义管理员用户列表
admin users = admin
## 定义允许访问此共享的有效用户列表,也可以是组名(以 @ 开头)
valid users = admin,root
## 要求密码访问
password required = yes
## 共享是否可用, yes为显示共享,no 为隐藏共享
available = yes
## 对于Apple文件进行编码
fruit:encoding = native
## 对于Apple文件元数据
fruit:metadata = stream
## 设置为 no 表示Samba不会拒绝AppleDouble文件
fruit:veto_appledouble = no
## 这些VFS模块可以增强Samba服务器的功能
vfs objects = catia fruit streams_xattr
EOF
service smbd restart && systemctl enable smb && hostname -i
|
3 、方法二、追加samba配置文件+添加宿主+重启samba服务+查看ip地址
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
|
mkdir -pm 755 /mnt && chmod +x /etc/samba/smb.conf && tee -a /etc/samba/smb.conf <<'EOF'
###################################
######## 我的samba共享设置 ########
[Debian]
## 这是我的共享名称
comment = mysamba
## 共享目录的路径
path = /mnt
## 指定共享是否应该在网络邻居中被浏览到,yes显示共享名称,no隐藏共享名称。
browseable = yes
## 是否允许用户写入此共享,yes为可写入,no为不可写入。
writeable = yes
## 指定共享用户是否可读写,yes为只读,no为读写。
read only = no
## 新建文件的默认权限掩码
create mask = 0777
## 新建目录的默认权限掩码
directory mask = 0777
## 允许访客否
guest ok = no
## 强制用户为root
force user = root
## 强制组为root
force group = root
## 定义管理员用户列表
admin users = admin
## 定义允许访问此共享的有效用户列表,也可以是组名(以 @ 开头)
valid users = admin,root
## 要求密码访问
password required = yes
## 共享是否可用, yes为显示共享,no 为隐藏共享
available = yes
## 对于Apple文件进行编码
fruit:encoding = native
## 对于Apple文件元数据
fruit:metadata = stream
## 设置为 no 表示Samba不会拒绝AppleDouble文件
fruit:veto_appledouble = no
## 这些VFS模块可以增强Samba服务器的功能
vfs objects = catia fruit streams_xattr
EOF
chown admin:admin /mnt/ && service smbd restart && hostname -i
|
4 、方法三、一键开启SMB脚本(追加内容)
下面是一便个捷开启Smb脚的本,并且配置了Debian目的录共享。默认共享号账为admin
密码为mobufan
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
|
touch ~/smb.sh && cat > /smb.sh <<'EOF'
#!/bin/bash
apt update && apt install samba -y
mkdir -pm 755 /mnt && cat >>/etc/samba/smb.conf <<'MYENDMARK'
######## 我的samba共享设置 ########
[Debian]
## 这是我的共享名称
comment = mysamba
## 共享目录的路径
path = /mnt
## 指定共享是否应该在网络邻居中被浏览到,yes显示共享名称,no隐藏共享名称。
browseable = yes
## 是否允许用户写入此共享,yes为可写入,no为不可写入。
writeable = yes
## 指定共享用户是否可读写,yes为只读,no为读写。
read only = no
## 新建文件的默认权限掩码
create mask = 0777
## 新建目录的默认权限掩码
directory mask = 0777
## 允许访客否
guest ok = no
## 强制用户为root
force user = root
## 强制组为root
force group = root
## 定义管理员用户列表
admin users = admin
## 定义允许访问此共享的有效用户列表,也可以是组名(以 @ 开头)
valid users = admin,root
## 要求密码访问
password required = yes
## 共享是否可用, yes为显示共享,no 为隐藏共享
available = yes
## 对于Apple文件进行编码
fruit:encoding = native
## 对于Apple文件元数据
fruit:metadata = stream
## 设置为 no 表示Samba不会拒绝AppleDouble文件
fruit:veto_appledouble = no
## 这些VFS模块可以增强Samba服务器的功能
vfs objects = catia fruit streams_xattr
MYENDMARK
## 新建admin用户 && 为admin用户创建两次`mobufan`密码
useradd admin && (echo mobufan; echo mobufan) | smbpasswd -a -s admin
systemctl restart smbd
EOF
chmod +x ~/smb.sh && bash smb.sh
|
二 、Debian为samba客户端配置(追加内容)
1
2
3
4
5
6
7
8
|
apt-get update && apt install samba && systemctl enable smb && service smbd restart && mkdir -pm 755 /mnt/ARS2-SMB && tee -a /etc/fstab <<'EOF'
## Debian为samba客户端配置(追加内容)
## 服务器地址和共享名:10.10.10.251/ARS2,挂载到本地路径:/mnt/ARS2-SMB,账户:root,密码:mobufan
//10.10.10.251/ARS2 /mnt/ARS2-SMB cifs username=root,password=mobufan 0 0
EOF
reboot
|
三 、验证samba服务
1 、安装smbclient
1
|
apt-get update && apt install smbclient
|
2 、验证samba服务
1
|
smbclient //10.10.10.245/Debian -U admin ## 输入密码后,ls看一下,ctrl+c退出
|
3 、查看samba用户
4 、添加root用户到samba—可以忽略