Featured image of post Alpine 配置 samba 服务

Alpine 配置 samba 服务

Alpine 配置 samba 服务

一 、配置 samba 基础设置

1 、Alpine新建共享文件夹+安装samba

1
mkdir -pm 755 /mnt/mydisk && apk update && apk add samba shadow

2 、新建admin用户+设置密码

1
useradd admin && smbpasswd -a admin

二 、Alpine为服务端samba配置

1 、备份samba配置文件

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

2 、方法一、覆盖samba配置文件+添加 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
100
101
102
103
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 Alpine
     ## 设置网络基本输入/输出系统(NetBIOS)名称
     netbios name = Alpine
     ## Unix字符集设置为UTF-8
     unix charset = UTF-8
     ## 禁用核心转储
     enable core files = no
     ## 设置安全模式为用户级别
     security = user
     ## 将未知用户映射为访客
     map to guest = Bad User
     ## 允许客户端访问具有空密码的账户
     null passwords = yes
     ## 设置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
     ## 允许使用LanManager认证方式
     lanman auth = yes
     ## 允许使用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共享设置   ########
[Alpine]
     ## 这是我的共享名称
     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

rc-update add samba && rc-service samba start && getent hosts $(hostname) | awk '{print $1}'

3 、方法二、追加samba配置文件+添加 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共享设置   ########
[Alpine]
     ## 这是我的共享名称
     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

rc-update add samba && rc-service samba start && getent hosts $(hostname) | awk '{print $1}'

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

下面是一‮便个‬捷开启Smb‮脚的‬本,并且配置了Alpine目‮的录‬共享。默认共享‮号账‬为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 /root/smb.sh && cat > /root/smb.sh <<'EOF'
#!/bin/ash
apk update && apk add samba shadow
mkdir -pm 755 /mnt && cat >>/etc/samba/smb.conf <<MYENDMARK
########   我的samba共享设置   ########
[Alpine]
     ## 这是我的共享名称
     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
rc-service samba start
EOF

chmod +x /root/smb.sh && /root/smb.sh
1
cat /smb.sh ## 查看脚本

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

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

1
2
3
4
5
6
7
8
apk update && apk add samba shadow && mkdir -pm 755 /mnt/ARS2-SMB && tee -a /etc/fstab <<'EOF'

## Alpine为客户端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
pdbedit -L

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

1
smbpasswd -a root
本博客已稳定运行 小时 分钟
共发表 112 篇文章 · 总计 109.83 k 字
本站总访问量