您当前的位置:首页 > 电脑百科 > 安全防护 > 服务器/网站

利用shell脚本命令配置好完整的Samba共享服务器

时间:2020-06-23 11:16:45  来源:  作者:

昨天晚上在centos学习Samba配置共享文件服务器,还算顺利:二三个小时左右完成了SAMBA服务的配置,昨天根据头条文章依次执行和配置,只有一点点小错!

今天事情并不多,在学习shell脚本,就想能不能用shell脚本,一次性就把CentOS linux 的文件共享服务器完成呢?

shell脚本需要完成的实验需求:

利用shell脚本命令配置好完整的Samba共享服务器

网络拓扑结构图

shell脚本运行目标:

  • 1、建立WORKGROUP工作组,建立Manage、Human、Salas帐号和访问密码;
  • 2、建立拓扑图对应的之public、doc、soft共享文件夹、权限、访问;
  • 3、自动完成smb.conf文件的修改,达到网络访问的目标;
  • 4、自动运行smb服务,并加载到对应的启动项;
利用shell脚本命令配置好完整的Samba共享服务器

shell脚本在CentOS 7运行后的历史命令


利用shell脚本命令配置好完整的Samba共享服务器

Win7访问CentOS7 Samba文件服务器示意图

【Shell文件smbinstall.sh】

#!bai/bin/bash
sourcepack='samba'
smbpw="duoluo123"
group="WORKGROUP"
user1="Manage"
user2="Human"
user3="Salas"
share01="public"
share02="soft"
share03="doc"
#### 建立共享目录####
if [ -f "/etc/samba/smb.conf" ];then
echo "Samba is install...."
else
yum -y install samba*
fi

###建立共享目录######
if [ -d "/home/Data" ];then
echo "/home/Data is exist...."
else
mkdir /home/Data
fi
if [ -d "/home/Data/public" ];then
echo "/home/Data/public is exist...."
else
mkdir /home/Data/public
fi
if [ -d "/home/Data/doc" ];then
echo "/home/Data/doc is exist...."
else
mkdir /home/Data/doc
fi
if [ -d "/home/Data/soft" ];then
echo "/home/Data/soft is exist...."
else
mkdir /home/Data/soft
fi

if [ -f "/etc/samba/smb.conf_bak" ];then
cp -f /etc/samba/smb.conf_bak /etc/samba/smb.conf
else
cp /etc/samba/smb.conf /etc/samba/smb.conf_bak
fi

########建立用户组和对应的用户#############
egroup  "^$group" /etc/group >& /dev/null
if [ $? -ne 0 ]
then
	groupadd "$group"
else
	echo "hello"
fi

###################################################
##create user if not exists
#id $user >& /dev/null
#if [ $? -ne 0 ]
#then
#   useradd -g $group $user
#fi          

#create user if not exists
#egrep "^$user" /etc/passwd >& /dev/null
#if [ $? -ne 0 ]
#then
#    useradd -g $group $user
#fi
#create user if not exists
##################################################


id $user1>& /dev/null
if [ $? -ne 0 ]
then
   useradd "$user1" -g "$group"
else
    echo "User is exist...."
fi
id $user2>& /dev/null
if [ $? -ne 0 ]
then
   useradd "$user2" -g "$group"
else
    echo "User is exist...."
fi
id $user3>& /dev/null
if [ $? -ne 0 ]
then
   useradd "$user3" -g "$group"
else
    echo "User is exist...."
fi

####################修改密码################################
#(echo 123;echo 123) | smbpasswd -s -a  MySQL
#echo -e "123n123" | smbpasswd -s -a  mysql
(echo "$smbpw";echo "$smbpw") | smbpasswd -a -s "$user1"
(echo "$smbpw";echo "$smbpw") | smbpasswd -a -s "$user2"
(echo "$smbpw";echo "$smbpw") | smbpasswd -a -s "$user3"
(echo "$user1" password is "$smbpw")
(echo "$user2" password is "$smbpw")
(echo "$user3" password is "$smbpw")

chgrp "$group" /home/Data
chgrp "$group" /home/Data/soft
chgrp "$group" /home/Data/doc
chgrp "$group" /home/Data/public
chmod 777 /home/Data
chmod 770 /home/Data/soft
chmod 770 /home/Data/doc
chmod 770 /home/Data/public

#########'workgroup = Samba'########
sed -i 's/workgroup = SAMBA/workgroup = '"$group"'/g' /etc/samba/smb.conf

####################################
sed -i '$a ['"$share01"']' /etc/samba/smb.conf
sed -i '$a comment = '"$share01"' Home Directories' /etc/samba/smb.conf
sed -i '$a path = /home/Data/'"$share01"'' /etc/samba/smb.conf 
sed -i '$a valid users = '"$user1"','"$user2","$user3"',root' /etc/samba/smb.conf
sed -i '$a browseable = yes' /etc/samba/smb.conf
sed -i '$a read only = no' /etc/samba/smb.conf
sed -i '$a inherit acls = yes' /etc/samba/smb.conf  

#########/etc/samba/smb.conf [soft]#######
sed -i '$a ['"$share02"']' /etc/samba/smb.conf
sed -i '$a comment = '"$share02"' Home Directories' /etc/samba/smb.conf
sed -i '$a path = /home/Data/'"$share02"'' /etc/samba/smb.conf
sed -i '$a valid users = '"$user1"','"$user2","$user3"',root' /etc/samba/smb.conf
sed -i '$a browseable = yes' /etc/samba/smb.conf
sed -i '$a read only = no' /etc/samba/smb.conf
sed -i '$a inherit acls = yes' /etc/samba/smb.conf

########/etc/samba/smb.conf [doc]#######
sed -i '$a ['"$share03"']' /etc/samba/smb.conf
sed -i '$a comment = '"$share03"' Home Directories' /etc/samba/smb.conf
sed -i '$a path = /home/Data/'"$share03"'' /etc/samba/smb.conf
sed -i '$a valid users = '"$user1"','"$user2","$user3"',root' /etc/samba/smb.conf
sed -i '$a browseable = yes' /etc/samba/smb.conf
sed -i '$a read only = no' /etc/samba/smb.conf
sed -i '$a inherit acls = yes' /etc/samba/smb.conf


####################################################################################
systemctl restart smb
systemctl enable smb





作者:王维翰,资深IT运维工程师,具备20多年IT及相关技术支持,为上海近千家中小企业、家庭用户提供过专业的IT技术支持服务;曾多次获“中小企业十佳项目经理”、“中小企业IT专家”!



Tags:共享服务器   点击:()  评论:()
声明:本站部分内容及图片来自互联网,转载是出于传递更多信息之目的,内容观点仅代表作者本人,如有任何标注错误或版权侵犯请与我们联系(Email:2595517585@qq.com),我们将及时更正、删除,谢谢。
▌相关推荐
你想快速搭建属于自己的共享服务器并且可以跨平台访问吗,你是否厌烦现有的FTP服务器部署复杂和用户权限设置繁琐呢?小编今天给大家介绍一款开源文件共享服务器chfs,首先搭建非...【详细内容】
2021-06-08  Tags: 共享服务器  点击:(1243)  评论:(0)  加入收藏
通过 Linux,你可以将任何设备变成服务器,以共享数据、媒体文件,以及其他资源。在 2021 年,人们喜欢 Linux 的理由比以往任何时候都多。在这个系列中,我将分享 21 个使用 Linux 的...【详细内容】
2021-03-12  Tags: 共享服务器  点击:(157)  评论:(0)  加入收藏
昨天晚上在CentOS学习Samba配置共享文件服务器,还算顺利:二三个小时左右完成了SAMBA服务的配置,昨天根据头条文章依次执行和配置,只有一点点小错!今天事情并不多,在学习shell脚本,...【详细内容】
2020-06-23  Tags: 共享服务器  点击:(74)  评论:(0)  加入收藏
苹果最新发布了一篇支持文章,告知 macOS 设备在使用 NTLM 用户凭据连接到 Windows 服务器上托管的网络共享时遭到阻止的解决方案。从 6 月 11 日开始安装 Windows 更新后,尝试...【详细内容】
2019-08-15  Tags: 共享服务器  点击:(457)  评论:(0)  加入收藏
▌简易百科推荐
在最近的一波攻击中,黑客利用多个插件中未修补的漏洞攻击了 160 万个 WordPress 网站。 易受攻击的插件对 WordPress 网站产生了的巨大攻击数据。 Wordfence 最近发现 WordPr...【详细内容】
2021-12-16  蚁安    Tags:WordPress   点击:(9)  评论:(0)  加入收藏
事件起因从安全分析系统里面发现一条带有病毒的下载,然后针对这条记录展开了一系列的分析分析过程1.登录到被感染服务器,查看系统状况,hadoop 这个用户在 2020/6/18 20:32 从这...【详细内容】
2021-11-23  Z2990Lig    Tags:SSH   点击:(32)  评论:(0)  加入收藏
1、除了服务器需要用的一些正规软件,其它都不要安装。2、在用户中把administrator改名,这样做的目的是即使对方暴破了我们的密码用户名也不容易猜住,相当于又加了一道关卡。...【详细内容】
2021-11-01  IT小哥吧    Tags:服务器   点击:(37)  评论:(0)  加入收藏
账户安全(1)更名administrator本地用户并禁用guest账户步骤:点击“开始”,找到“管理工具”,点击里面的“计算机管理”,找到“本地用户和组” (2)设定账户锁定策略尝试5次失败...【详细内容】
2021-10-12  Kali与编程  今日头条  Tags:Windows主机   点击:(62)  评论:(0)  加入收藏
本文主要介绍以Microsoft的Windows Server 2019 ,版本:Datacenter(Domain Controller)安全加固保护.企业随着规模不断扩大,业务增多,信息安全建设是企业里一条只有重点没有终点...【详细内容】
2021-09-17  Vireshark    Tags:服务器安全   点击:(64)  评论:(0)  加入收藏
目录常见共享命令IPC$IPC$的利用条件1:开启了139、445端口2:目标主机开启了IPC$共享3:IPC连接报错IPC空连接空连接可以做什么?(毫无作用)IPC$非空连接IPC$非空连接可以做什么?di...【详细内容】
2021-09-16  网络说安全    Tags:系统安全   点击:(86)  评论:(0)  加入收藏
昨天一个老哥找到我,说他的服务器这几天一直被CC攻击,问我这边有没有什么解决的方法? 近年来,网络攻击事件越来越频繁,最常见的就是CC攻击和DDOS攻击,主要的区别就是针对的对象不...【详细内容】
2021-09-10  小蚁GDRAGON    Tags:cc攻击   点击:(58)  评论:(0)  加入收藏
网站页面上的登录操作,通常都是输入帐号密码,传输至网站后台验证。在网站页面、数据传输中,通过技术手段,都可以得到用户输入的信息,并可以修改,从而发起网络攻击。典型的如:使用自...【详细内容】
2021-08-30  修丹道的程序猿    Tags:登录方式   点击:(62)  评论:(0)  加入收藏
网络安全研究人员披露了一类影响主要 DNS 即服务 (DNSaaS) 提供商的新漏洞,这些漏洞可能允许攻击者从企业网络中窃取敏感信息。基础设施安全公司 Wiz 的研究人员 Shir Tamar...【详细内容】
2021-08-12  零日时代    Tags:漏洞   点击:(66)  评论:(0)  加入收藏
001暴力破解1. 指定用户名爆破密码传统型爆破思路,用户名可以通过猜测或者信息收集获得。猜测:admin、网站域名等信息收集:新闻发布人、whoami等2. 指定密码爆破用户名如果是后...【详细内容】
2021-07-23  KaliMa  今日头条  Tags:登陆框   点击:(85)  评论:(0)  加入收藏
最新更新
栏目热门
栏目头条