1、自动化配置dns服务器
A
主机:
vim
dns.sh
#!/bin/bash
#
自动化部署
dns
# 1
、下载
bind
# 2
、修改配置文件
# vim /etc/named.conf
# listen-on port 53 { 127.0.0.1;any; };
修改(定位替换)
# allow-query { localhost;any; };
修改(定位替换)
# vim /etc/named.rfc1912.zones
(最后追加)
# zone "baibai.com" IN {
# type master;
# file "baibai.com.zone";
# allow-update { none; };
#};
# 3
、创建
zone
文件
# cd /var/named/
# cp -p named.localhost baibai.com.zone
# 4
、修改
zone
文件
# vim baibai.com.zone
# www A 10.0.0.100 (
最后追加
)
# 5
、重启服务
# systemctl restart named
yum
-y
install bind
sed
-i
'/listen-on/ s/127.0.0.1;/127.0.0.1;any;/'
/etc/named.conf
sed
-i
'/allow-query/ s/localhost;/localhost;any;/'
/etc/named.conf
sed
-i
'$a zone "a.com" IN {'
/etc/named.rfc1912.zones
sed
-i
'$a type master;'
/etc/named.rfc1912.zones
sed
-i
'$a file "a.com.zone";'
/etc/named.rfc1912.zones
sed
-i
'$a allow-update { none; };'
/etc/named.rfc1912.zones
sed
-i
'$a };'
/etc/named.rfc1912.zones
cd
/var/named/
cp
-p
named.localhost a.com.zone
sed
-i
'$a www A 10.0.0.100'
/var/named/a.com.zone
systemctl
restart
named
sh
dns.sh
B
主机:
vim
dnscs.sh
#!/bin/bash
#
测试机测试
dns
yum
-y
install bind-utils
echo
"nameserevr 10.0.0.12"
> /etc/resolv.conf
nslookup www.a.com
sh
dnscs.sh
2
、自动化配置
rsync
服务
A
主机:
1
ssh-keygen
ssh-copy-id
vim
rsync.sh
#!/bin/bash
#
自动化部署
rsync
#
先自己做免密
# 1
、下载
rsync
和
inotify-tools
软件
yum -y install rsync inotify-tools
# 2
、创建共享目录与共享文件
mkdir rsync touch rsync/file{0..4}
# 3
、修改配置文件
vim /etc/rsyncd.conf
(最后面追加)
# [app]
# path=/root/rsync/ //
项目路径
# log file=/var/log/rsync.log //
项目日志文件路径
# 4
、重启
rsync
服务
systemctl restart rsyncd
# 5
、写一个监控脚本 先创建一个文件
touch inotify.sh vim inotify.sh
(直接最
后追加插入)
# #!/bin/bash
# /usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move /root/rsync
| while read events
# do
# rsync -av --delete /root/rsync root@10.0.0.20:/tmp/
# echo "`date +%F\ %T`
出现事件
$events" >> /var/log/rsync.log 2>&1
# done
# 6
、为脚本添加执行权限
chmod +x inotify.sh
# 7
、执行监控脚本并放入后台
nohup ./inotify.sh &
yum
-y
install rsync
yum
-y
install inotify-tools
mkdir
rsync
touch
rsync/file{0..4}
sed
-i
'$a [app]'
/etc/rsyncd.conf
sed
-i
'$a path=/root/rsync/'
/etc/rsyncd.conf
sed
-i
'$a log file=/var/log/rsync.log'
/etc/rsyncd.conf
systemctl
restart
rsyncd
touch
inotify.sh
echo
"#"
> /root/inotify.sh
sed
-i
'$a #!/bin/bash'
/root/inotify.sh
sed
-i
'$a /usr/bin/inotifywait -mrq -e modify,delete,create,attrib,move
/root/rsync | while read events'
/root/inotify.sh
sed
-i
'$a do'
/root/inotify.sh
sed
-i
'$a rsync -av --delete /root/rsync root@10.0.0.11:/tmp/'
/root/inotify.sh
sed
-i
'$a done'
sed
-i
'1d'
/root/inotify.sh
chmod
+
x inotify.sh
nohup ./inotify.sh &
sh
rsync.sh
B
主机:
测试机测试
rm
-rf
/tmp/*
ls
/tmp/
A
主机:
touch
/root/rsync/file5
B
主机:
测试机测试
ls
/tmp/
3
、自动化配置
FTP
服务
A
主机:
vim
ftp.sh
#!/bin/bash
# 1
、下载
vsftpd
软件包
yum -y install vsftpd
# 2
、开启
vsftpd
服务
systemctl start vsftpd
# 3
、修改
vsftpd
配置文件
vim /etc/vsftpd/vsftpd.conf
(查找修改)
# anonymous_enable=NO //
不允许匿名访问
# local_root=/data/kehu //
指定用户存放文件的路径
# chroot_local_user=YES //
限定目录
# chroot_list_enable=YES //
开启用户列表文件
# chroot_list_file=/etc/vsftpd/chroot_list //
指定用户列表文件
# 4
、重启
vsftpd
服务
systemctl restart vsftpd
# 5
、创建用户
useradd kehu
# 6
、设置用户密码
echo kehu | passwd --stdin kehu
# 7
、创建存放目录
mkdir -p /data/kehu/
# 8
、为用户赋予所有权限
setfacl -R -m u:kehu:rwx /data/kehu/
# 9
、将用户放入用户列表文件中,表示不被禁锢
echo kehu >>
/etc/vsftpd/chroot_list
yum
-y
install vsftpd
systemctl
start
vsftpd
sed
-i
'/anonymous_enable/ s/YES/NO/'
/etc/vsftpd/vsftpd.conf
sed
-i
'/anonymous_enable/ a local_root=/data/kehu'
/etc/vsftpd/vsftpd.conf
sed
-i
'/chroot_local_user=YES/ s/#//'
/etc/vsftpd/vsftpd.conf
sed
-i
'/chroot_list_enable=YES/ s/#//'
/etc/vsftpd/vsftpd.conf
sed
-i
'/chroot_list_file/ s/#//'
/etc/vsftpd/vsftpd.conf
useradd kehu
echo
kehu | passwd
--stdin
kehu
mkdir
-p
/data/kehu/
setfacl
-R -m
u:kehu:rwx /data/kehu/
echo
kehu >> /etc/vsftpd/chroot_list
systemctl
restart
vsftpd
sh
ftp.sh
B
主机:
测试机测试
yum
-y
install ftp
ftp
10
.0.0.10
kehu
kehu
4
、自动化配置
frp
的服务器端与客户端
A
主机:
vim
frp.sh
#!/bin/bash
# 1
、确保本机中有软件包
frp_0.33.0_linux_amd64.tar.gz
# 2
、解压软件包
tar -zxvf frp_0.33.0_linux_amd64.tar.gz
# 3
、切换到解压后的目录中
cd frp_0.33.0_linux_amd64/
# 4
、修改配置文件
vim frps.ini
(全部追加)
# dashboard_user=aaa
# dashboard_pwd=aaa
# dashboard_port=7500
# 5
、启动
frp
服务
./frps -c frps.ini
tar
-zxf
frp_0.33.0_linux_amd64.tar.gz
cd
frp_0.33.0_linux_amd64/
sed
-i
'$a dashboard_user=aaa'
frps.ini
sed
-i
'$a dashboard_pwd=aaa'
frps.ini
sed
-i
'$a dashboard_port=7500'
frps.ini
./frps
-c
frps.ini
sh
frp.sh
B
主机:
vim
frpcs.sh
#!/bin/bash
#
测试机测试
frp
服务器
# 1
、解压软件包
# 2
、切换到目录中
# 3
、修改配置文件
vim frpc.ini
# [common]
# server_addr = 10.0.0.20
# server_port = 7000
# [lijiaqi]
# type = tcp
# local_ip = 127.0.0.1
# local_port = 22
# remote_port = 6064
# 4
、启动
frp
客户端服务
./frpc -c frpc.ini
tar
-zxf
frp_0.33.0_linux_amd64.tar.gz
cd
frp_0.33.0_linux_amd64
sed
-i
'/server_addr/ s/127.0.0.1/10.0.0.10/'
frpc.ini
sed
-i
'/[ssh]/ s/ssh/baibai/'
frpc.ini
sed
-i
'/remote_port/ s/6000/6035/'
frpc.ini
./frpc
-c
frpc.ini
sh
frpcs.sh
5
、自动化配置
samba
共享
A
主机:
vim
samba.sh
#!/bin/bash
#
自动化配置
samba
共享
# 1
、下载
samba
软件
yum -y install samba
# 2
、修改
samba
配置文件
vim /etc/samba/smb.conf
(直接最后追加)
# [smb_share] //
这是共享的名称,客户端在访问时会看到这个名称。
# comment = samba service //
这是对该共享的注释说明,用于提供一些描述信息,这
里说明是
“Samba
服务
”
# path = /samba //
指定了实际共享的目录路径为
`/bakpu`
# guest ok = no //
表示不允许访客访问,只有经过授权的用户才能访问
# writable = yes //
表示允许对该共享目录进行写入操作
# 3
、创建共享目录
mkdir /samba
# 4
、添加
samba
用户
useradd user01
# 5
、为用户设置密码
smbpasswd -a user01
# 6
、为用户赋予所有权限
setfacl -m u:user01:rwx /bakpu/*
# 7
、启动
nmb
服务
systemctl start nmb.service
# 8
、启动
smb
服务
systemctl start smb.service
yum
-y
install samba
sed
-i
'$a [smb_share]'
/etc/samba/smb.conf
sed
-i
'$a comment = samba service'
/etc/samba/smb.conf
sed
-i
'$a path = /samba'
/etc/samba/smb.conf
sed
-i
'$a guest ok = no'
/etc/samba/smb.conf
sed
-i
'$a writable = yes'
/etc/samba/smb.conf
mkdir
/samba
useradd user01
echo
"
现在请您输入你想要设置的账户密码:
"
smbpasswd
-a
user01
setfacl
-m
u:user01:rwx /samba/
systemctl
start
nmb.service
systemctl
start
smb.service
B
主机:
测试机测试
1
、直接
windows
测试(直接映射)
2
、
linux
主机测试
yum
-y
install samba-client
smbclient //10.0.0.10/smb_share
-U
user01
6
、自动化配置
yum
仓库初始化(包括阿里云和
epel
)
A
主机:
vim
yum.sh
#!/bin/bash
#
自动化配置
yum
仓库初始化(包括阿里云和
epel
)
# 1
、搭建本地仓库
# tar -cf /etc/yum.repos.d/yum.repo.tar /etc/yum.repos.d/*
# rm -rf /etc/yum.repos.d/*
# vim /etc/yum.repos.d/hh.repo
# [hh]
# name=hh
# baseurl=file:///mnt
# gpgcheck=0
# enable=1
# mount /dev/cdrom /mnt
# 2
、下载
wget
软件
yum -y install wget
# 3
、在阿里云官网
wget
下载阿里云镜像
wget -O /etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo
# 4
、下载
epel
,创建
epel
仓库
yum -y install epel-release.noarch
# 5
、清除缓存
yum clean all
创建缓存
yum makecache
tar
-cf
/etc/yum.repos.d/yum.repo.tar /etc/yum.repos.d/*
rm
-rf
/etc/yum.repos.d/*
echo
"#"
> /etc/yum.repos.d/hh.repo
sed
-i
'$a [hh]'
/etc/yum.repos.d/hh.repo
sed
-i
'$a name=hh'
/etc/yum.repos.d/hh.repo
sed
-i
'$a baseurl=file:///mnt'
/etc/yum.repos.d/hh.repo
sed
-i
'$a gpgcheck=0'
/etc/yum.repos.d/hh.repo
sed
-i
'$a enable=1'
/etc/yum.repos.d/hh.repo
sed
-i
'1d'
/etc/yum.repos.d/hh.repo
yum
-y
install
wget
wget
-O
/etc/yum.repos.d/CentOS-Base.repo
https://mirrors.aliyun.com/repo/Centos-7.repo
yum
-y
install epel-release.noarch
yum clean all
yum makecache
7
、自动化配置
nfs
服务
A
主机:
vim
nfs.sh
#!/bin/bash
#
自动化配置
nfs
服务
# 1
、下载
nfs
软件与依赖软件
yum -y install nfs-utils.x86_64 rpcbind.x86_64
# 2
、创建共享目录
mkdir /nfsshare
# 3
、编辑配置文件指定要暴露的目录
vim /etc/exports
(这是个新文件,直接追加最后)
# /nfsshare *(rw,sync)
yum
-y
install nfs-utils.x86_64 rpcbind.x86_64
mkdir
/nfsshare
echo
"#"
> /etc/exports
sed
-i
'$a /nfsshare *(rw,sync)'
/etc/exports
sed
-i
'1d'
/etc/exports
systemctl
start
nfs-server
sh
nfs.sh
B
主机:
测试机测试
yum
-y
install nfs-utils.x86_64
mkdir
/nfs
mount
-t
nfs
10
.0.0.10:/nfsshare /nfs
ls
/nfs
8
、自动化配置
ntp
服务
A
主机:
vim
ntp.sh
#!/bin/bash
#
自动化配置
ntp
服务
# 1
、下载
ntp
软件
yum -y install ntp.x86_64
# 2
、修改
ntp
配置文件
vim /etc/ntp.conf
# 15
行加入
restrict 10.0.0.0 mask 255.255.255.0 //
允许
10.0.0.0
网段的主机访
问
# 3
、与官方时间服务器同步时间
ntpdate cn.ntp.org.cn
# 4
、启动
ntp
服务
systemctl start ntpd
# 5
、编辑计划任务定时同步时间
crontab -e
# * 4 * * * /usr/sbin/ntpdate cn.ntp.org.cn
yum
-y
install ntp.x86_64
sed
-i
'/restrict ::1/a restrict 10.0.0.0 mask 255.255.255.0'
/etc/ntp.conf
ntpdate cn.ntp.org.cn
systemctl
start
ntpd
echo
"
您现在可以编辑一个定时任务用于定时向官方时间服务器同步时间,以防止您当前的时间服务
器时间错误
"
echo
"
你可以输入以下命令来编辑一个定时任务
"
echo
"1
、
crontab -e"
echo
"2
、
* 4 * * * /usr/sbin/ntpdate cn.ntp.org.cn"
echo
"
该命令为每到
4
点时就进行一次时间同步
"
sh
ntp.sh
B
主机:
测试机测试
date
date
-s
"2014-07-28 00:00"
ntpdate
10
.0.0.10
date