Featured image of post Ubuntu配置samba服务

Ubuntu配置samba服务

Ubuntu配置samba共享

一 、Ubuntu_samba共享 基本设置

1 、更新软件包+安装 samba+新建共享文件夹并添加权限

1
sudo apt update && sudo apt install samba -y && sudo mkdir -p -m 777 /mnt/mydisk

2 、创建Samba账户+添加用户admin到smb共享组+设置共享密码

创建Samba账户

1
sudo adduser admin && sudo gpasswd sambashare -a admin && sudo smbpasswd -a admin

3 、启动smba共享服务

1
sudo systemctl restart smbd.service nmbd.service

二 、Ubuntu为服务端samba配置

1 、备份samba配置文件

1
sudo cp -i /etc/samba/smb.conf /etc/samba/smb.conf.bak && ls /etc/samba

2 、方法一 、覆盖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
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
sudo mkdir -pm 755 /mnt && sudo chmod +x /etc/samba/smb.conf && sudo cat > /etc/samba/smb.conf <<'EOF'
###################################
########    samba全局配置   ########
[global]
     ## 设置工作组名称
     workgroup = WORKGROUP
     ## 设置非活动连接被关闭的时间(分钟)
     deadtime = 99
     ## 服务器描述字符串
     server string = Samba on Ubuntu
     ## 设置网络基本输入/输出系统(NetBIOS)名称
     netbios name = Ubuntu
     ## 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共享设置   ########
[Ubuntu]
     ## 这是我的共享名称
     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

sudo systemctl restart smbd && sudo 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
sudo mkdir -pm 755 /mnt && sudo chmod +x /etc/samba/smb.conf && sudo tee -a /etc/samba/smb.conf <<'EOF'
###################################
########   我的samba共享设置   ########
[Ubuntu]
     ## 这是我的共享名称
     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

sudo systemctl restart smbd && sudo hostname -I

4 、方法三 、一键开启SMB脚本(追加内容)

下面是一‮便个‬捷开启Smb‮脚的‬本,并且配置了Ubuntu目‮的录‬共享。默认共享‮号账‬为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
sudo touch ~/smb.sh && sudo cat > /smb.sh <<'EOF'
#!/bin/bash
sudo apt update && sudo apt install samba -y
sudo mkdir -pm 755 /mnt && sudo cat >>/etc/samba/smb.conf <<'MYENDMARK'
########   我的samba共享设置   ########
[Ubuntu]
     ## 这是我的共享名称
     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用户创建两次密码
useradd admin && (echo mobufan; echo mobufan) | smbpasswd -a -s admin && sudo systemctl restart smbd
EOF

sudo chmod +x ~/smb.sh && sudo bash smb.sh
1
cat /smb.sh ## 查看脚本

三 、Ubuntu为samba客户端配置(追加内容)

1 、Ubuntu为samba客户端配置(追加内容)

1
2
3
4
5
6
7
sudo apt update && sudo apt install samba -y && mkdir -pm 755 /mnt/ARS2-SMB && tee -a /etc/fstab <<'EOF'
## Ubuntu为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

2 、查看samba用户

1
sudo pdbedit -L

3 、添加root用户到samba—可以忽略

1
sudo smbpasswd -a root

四 、其他非必要的命令

1 、如果您有UFW防火墙运行,允许Samba通过:

1
sudo ufw allow samba

2 、关闭 samba 服务命令:

1
sudo service smbd stop

3 、启动 samba 服务命令:

1
sudo service smbd start

4 、重启 samba 服务命令:

1
sudo service smbd restart
本博客已稳定运行 小时 分钟
共发表 112 篇文章 · 总计 109.83 k 字
本站总访问量