mirror of https://github.com/helloxz/shell.git
xiaoz
2 years ago
1 changed files with 100 additions and 0 deletions
@ -0,0 +1,100 @@
@@ -0,0 +1,100 @@
|
||||
#!/bin/bash |
||||
##### name:debian初始化脚本 ##### |
||||
##### author:xiaoz ##### |
||||
##### date:2022/08/18 ##### |
||||
|
||||
#获取SSH端口 |
||||
ssh_port=$1 |
||||
|
||||
#初始化软件 |
||||
init_soft(){ |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'Install curl/wget and firewalld.' |
||||
echo '--------------------------------------------------------------'; |
||||
#更新软件 |
||||
apt-get update |
||||
#安装必要软件 |
||||
apt-get -y install curl wget |
||||
apt-get -y install firewalld |
||||
#启动firewalld |
||||
systemctl start firewalld && systemctl enable firewalld |
||||
#放行常见端口 |
||||
firewall-cmd --zone=public --add-port=80/tcp --permanent |
||||
firewall-cmd --zone=public --add-port=443/tcp --permanent |
||||
firewall-cmd --reload |
||||
} |
||||
|
||||
#初始化SSH配置 |
||||
#修改端口和允许root登录 |
||||
init_ssh(){ |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'Modifying SSH port.' |
||||
echo '--------------------------------------------------------------'; |
||||
#先放行端口 |
||||
firewall-cmd --zone=public --add-port=${ssh_port}/tcp --permanent |
||||
firewall-cmd --reload |
||||
|
||||
#修改ssh配置文件 |
||||
#修改SSH端口 |
||||
echo "Port ${ssh_port}" >> /etc/ssh/sshd_config |
||||
#允许root登录 |
||||
echo 'PermitRootLogin yes' >> /etc/ssh/sshd_config |
||||
|
||||
#重启SSH服务 |
||||
systemctl restart sshd |
||||
} |
||||
|
||||
#初始化时区 |
||||
init_timezone(){ |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'Setting time zone.' |
||||
echo '--------------------------------------------------------------'; |
||||
#设置时区为上海 |
||||
timedatectl set-timezone Asia/Shanghai |
||||
#同步时间 |
||||
apt-get install ntpdate |
||||
ntp_path=$(which ntpdate) |
||||
|
||||
#写入定时任务 |
||||
echo "${ntp_path} -u pool.ntp.org" >> /var/spool/cron/crontabs/root |
||||
#重载定时任务 |
||||
/etc/init.d/cron reload |
||||
} |
||||
|
||||
#设置虚拟内存,如果存在虚拟内存,则不设置 |
||||
set_swap() { |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'Setting swap.' |
||||
echo '--------------------------------------------------------------'; |
||||
curl -s "https://raw.githubusercontent.com/helloxz/shell/master/set_swap.sh" | bash |
||||
} |
||||
|
||||
#开启BBR |
||||
enable_bbr(){ |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'Enabling BBR.' |
||||
echo '--------------------------------------------------------------'; |
||||
#写入配置文件 |
||||
echo "net.core.default_qdisc=fq" >> /etc/sysctl.conf |
||||
echo "net.ipv4.tcp_congestion_control=bbr" >> /etc/sysctl.conf |
||||
|
||||
#使内核参数生效 |
||||
sysctl -p |
||||
} |
||||
|
||||
#修改默认的描述符限制 |
||||
change_ulimit() { |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'Modifying ulimit.' |
||||
echo '--------------------------------------------------------------'; |
||||
echo 'fs.file-max = 65535' >> /etc/sysctl.conf |
||||
echo '* soft nofile 65535' >> /etc/security/limits.conf |
||||
echo '* hard nofile 65535' >> /etc/security/limits.conf |
||||
echo 'ulimit -SHn 65535' >> /etc/profile |
||||
|
||||
#使内核参数生效 |
||||
sysctl -p |
||||
} |
||||
|
||||
#调用函数执行 |
||||
init_soft && init_ssh && init_timezone && set_swap && enable_bbr && change_ulimit |
Loading…
Reference in new issue