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
104
105
106
107
108
109
110
111
112
113
114
115
116 | #!/bin/bash
#功能:创建samba共享,创建共享用户同时创建匿名目录everyone(权限777)
#1.安装samba
#2.创建用户
#3.1 创建共享基目录
#3.2 创建共享基目录/everyone目录权限777
#3.3 创建共享基目录/用户目录
#smb用户名
SMB_USER=<用户名>
#smb密码
SMB_PWD=<密码>
#smb共享目录
#SMB_SHARE=/data/smb_share
SMB_SHARE=/usr/share/nginx
#############################################
#永久关闭selinux
setenforce 0
sed -i 's@SELINUX=enforcing@SELINUX=disabled@' /etc/selinux/config
#永久关闭防火墙
systemctl stop firewalld
systemctl disabled firewalld
#安装samba
yum -y install samba
#创建用户
useradd -s /sbin/nologin -M $SMB_USER
#创建密码
(echo "$SMB_PWD";sleep 1;echo "$SMB_PWD") |smbpasswd -a $SMB_USER
#创建共享目录
mkdir -p $SMB_SHARE
mkdir -p $SMB_SHARE/everyone
mkdir -p $SMB_SHARE/$SMB_USER
#everyone权限
chmod -R 777 $SMB_SHARE/everyone
#smb配置
#备份
cp /etc/samba/smb.conf{,`date +%F_%T`}
#创建smb配置
echo "
[global]
#工作组
workgroup = workgroup
#验证方式
security = user
#密码管理工具,使用samba的密码工具smbpasswd
passdb backend = tdbsam
#匿名访问用户名
map to guest = Bad User
guest account = nobody
#日志文件存储位置和日志名称
log file = /var/log/samba/%m.log
#日志级别,默认为0,不记录日志
log level = 2
#限制每个日志文件的最大容量为1024KB,0代表不限制
max log size = 1024
[everyone]
comment=everyone
#共享文件夹的目录,前提是已经创建好这个文件夹
path=$SMB_SHARE/everyone
#允许浏览
browseable = yes
#可写
writable = yes
available = yes
#公共
public = yes
#只读
read only = no
#guest访问
guest ok = yes
[$SMB_USER]
comment=$SMB_USER
path=$SMB_SHARE/$SMB_USER
browseable=yes
writable=yes
admin users=$SMB_USER
valid users=root,$SMB_USER
write list=root,$SMB_USER
public=yes
available=yes
#create mask = 0777
#directory mask = 0777
read only = no
">/etc/samba/smb.conf
#启动samba
systemctl restart smb
systemctl enable smb
|