linux操作系统基础配置【基于centos7]
作者:互联网
linux操作系统基础配置【基于centos7]
操作系统安装重启后,需要做一些简单的系统配置,让服务器系统可以与其他终端正常连接,还可以正常访问外部网(互联网)
修改默认主机名
默认主机名为localhost,建议在安装完成系统后根据实际情况修改默认的主机名。
临时修改主机名:hostname qiangqiang
配置文件修改主机名(/etc/hostname):
#localdomain -->将原来的注释
qiangqiang ----> 修改实际需要的主机名
永久修改主机名:hostnamectl set-hostname xiaoqiang
配置ip地址
系统配置ip地址的配置文件在/etc/sysconfig/network-scripts目录下。
动态:
TYPE="Ethernet" -->#网卡类型(通常是Ethemet以太网)
PROXY_METHOD="none" --->#代理方式:为关闭状态
BROWSER_ONLY="no" --->#只是浏览器:否
BOOTPROTO="dhcp" ---->#网卡的引导协议【static:静态IP(指定静态后IP地址就固定了,不建议采用动态分配) dhcp:动态IP none:不指定,不指定容易出现各种各样的网络受限】
DEFROUTE="yes" --->#默认路由
IPV4_FAILURE_FATAL="no" --->#是否开启IPV4致命错误检测
IPV6INIT="yes" --->#IPV6是否自动初始化:是
IPV6_AUTOCONF="yes" ---> #IPV6是否自动配置:是
IPV6_DEFROUTE="yes" --->#IPV6是否可以为默认路由:是
IPV6_FAILURE_FATAL="no" --->#是否开启IPV6致命错误检测
IPV6_ADDR_GEN_MODE="stable-privacy" --->#IPV6地址生成模型
NAME="ens33" --->网卡设备名称
ONBOOT="yes" --->是否开机启动(如果yes则开机后自动加载使用当前配置文件),要想网卡开机就启动或通过 `systemctl restart network`控制网卡,必须设置为 `yes`
IPADDR=192.168.1.24 # 本机IP
NETMASK=255.255.255.0 或PREFIX=24 #子网掩码 ,可不写
GATEWAY=192.168.1.2 #默认网关 ,可不写
DNS1=8.8.8.8 # 可不写
DNS2=8.8.8.5 # 可不写
为系统添加操作用户
在操作系统安装完成之后,尽量避免使用root用户登录操作,这样可以降低不必要的风险,因此需要根据日常维护添加操作用户。
useradd xiaoqiang
passwd xiaoqiang
没有交互式修改密码:echo "xiaoqiang" | passwd --stdin xiaoqiang
安装常用软件
操作系统一般采用最小化安装方式,因此许多常用的服务、软件、命令没有安装。
yum install -y wget lrzsz vim telnet bash-completion epel-release
配置yum源和epel源
在安装系统之后,由于自带的yum源下载速度比较慢,因此我们替换国内的yun源,这里以阿里源为例。
替换之前先备份之前的yum源文件:
cd /etc/yum.repos.d/ && mkdir bak && mv -f *.repo bak/
wget http://mirrors.aliyun.com/repo/Centos-7.repo
wget http://mirrors.aliyun.com/repo/epel-7.repo
关闭防火墙服务
关闭和禁止防火墙开机启动:systemctl stop firewalld && systemctl disable firewalld
关闭selinux服务
seliux服务配置文件在/etc/selinux/config中。
将SELINUX=enforcing修改成:SELINUX=disabled修改完后重启服务器永久生效。
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
临时:setenforce 0
查看:getenforce
修改ssh服务端口
为了加强系统安全性,需要对ssh服务默认配置进行修改。
ssh服务的配置文件:/etc/ssh/ssh_config
修改前备份:cp /etc/ssh/sshd_config /etc/ssh/sshd_config.bak
配置文件:
Port=22 --->默认端口22改成2388
PermitRootLogin no --->不允许root登录
PermitEmptyPasswords no --->不允许空密码登录
USeDNS no --->不允许使用dns解析
修改完后,使用:systemctl restart sshd 重启该服务
修改文件描述符
系统默认的文件描述符为1024,可以使用ulimit -n查看。
echo "* - nofile 65535" >>/etc/security/limits.conf
logout --->退出登录
ulimit -n ---查看
登录超时退出
echo "export TMOUT=300">>/etc/profile --->300秒后会提示超时自动退出登录。
source /etc/profile
#默认单位为秒。
centos7初始化脚本
#!/usr/bin/env bash
if [[ "$(whoami)" != "root" ]]; then
echo "please run this script as root ." >&2
exit 1
fi
ping -w1 -c1 www.baidu.com &>/dev/null
if [ $? -eq 0 ];then
net="网络正常"
else
red "网络无法连接"
exit 0
fi
# set -e
stty erase ^H
red(){
echo -e "\033[31m[error ]: $1\033[0m"
sleep 1
}
yellow(){
echo -e "\033[33m[warning]: $1\033[0m"
sleep 1
}
green(){
echo -e "\033[32m[info ]: $1\033[0m"
sleep 1
}
yellow "即将开始安装常用软件"
yum install -y vim wget bash-completion epel-release &>/dev/null
green "下载完成 vim wget bash-completion epel-release "
ipaddr=`echo "$SSH_CONNECTION" | cut -d' ' -f 3`
if [ -f /etc/centos-release ];then
os="centos"
else
os="unknow"
fi
time=`date +"%F %X"`
green "$ipaddr"
green "$os"
green "$time"
green "$net"
yellow "确认这是进行初始化操作,否则请中断操作,不然会给您的系统带来灾难。"
sleep 2
yellow "开始关闭防火墙"
iptables_config(){
systemctl stop firewalld.service && systemctl disable firewalld.service &>/dev/bull
yum install iptables-services -y &>/dev/null
systemctl enable iptables &>/dev/null
systemctl start iptables &>/dev/null
iptables -F
service iptables save
}
green "防火墙已关闭"
yellow "开始关闭SELINUX"
selinux_conf(){
sed -i "s/SELINUX=enforcing/SELINUX=disabled/g" /etc/selinux/config
setenforce 0
getenforce
}
green "SELINUX已关闭"
yellow "开始配置yum源和epel源"
yum_config(){
yum install epel-release -y &>/dev/null
cd /etc/yum.repos.d/ && mkdir bak && mv -f *.repo bak/
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo &>/dev/null
wget -O /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo &>/dev/null
yum clean all &>/dev/null && yum makecache &>/dev/null && yum repolist &>/dev/null
}
green "yum源和epel源配置完成"
yellow "即将进行静态ip地址配置,脚本通过dhcp自动获取ip地址进行定义"
ip_config(){
cat > /etc/sysconfig/network-scripts/ifcfg-ens33 <<EOF
TYPE="Ethernet"
PROXY_METHOD="none"
BROWSER_ONLY="no"
BOOTPROTO="static"
IPADDR="$ipaddr"
PREFIX=24
GATEWAY="${ipaddr%.*}.2"
DNS1=114.114.114.114
DNS2=8.8.8.8
DEFROUTE="yes"
DEVICE="ens33"
ONBOOT="yes"
EOF
}
green "ip地址配置完成"
yellow "优化ssh登录"
ssh_config(){
sed -ri 's/GSSAPIAuthentication yes/GSSAPIAuthentication no/' /etc/ssh/sshd_config
sed -ri 's/#UseDNS yes/UseDNS no/' /etc/ssh/sshd_config
}
green "ssh优化成功"
yellow "安装chrony时间同步服务及同步阿里云时间"
chrony_config(){
timedatectl set-local-rtc 1 && timedatectl set-timezone Asia/Shanghai
yum -y install chrony && systemctl start chronyd.service && systemctl enable chronyd.service
yum install -y ntpdate &>/dev/null
sed -i -e '/^server/s/^/#/' -e '1a server ntp.aliyun.com iburst' /etc/chrony.conf
systemctl restart chronyd.service
}
green "安装并自启chrony时间同步服务及同步阿里云时间成功"
yellow "自动设置永久主机名称"
hostnamectl(){
hostnamectl --static set-hostname xiaoqiang
}
green "设置永久主机名称成功"
yellow "修改文件连接最大数"
ulimit_config(){
echo "ulimit -SHn 102400" >> /etc/rc.local
cat >> /etc/security/limits.conf << EOF
* soft nofile 102400
* hard nofile 102400
* soft nproc 102400
* hard nproc 102400
EOF
}
green "修改文件连接最大数完成"
yellow "优化内核参数"
sysctl_config(){
cp /etc/sysctl.conf /etc/sysctl.conf.bak
cat > /etc/sysctl.conf << EOF
net.ipv4.ip_forward = 0
net.ipv4.conf.default.rp_filter = 1
net.ipv4.conf.default.accept_source_route = 0
kernel.sysrq = 0
kernel.core_uses_pid = 1
net.ipv4.tcp_syncookies = 1
kernel.msgmnb = 65536
kernel.msgmax = 65536
kernel.shmmax = 68719476736
kernel.shmall = 4294967296
net.ipv4.tcp_max_tw_buckets = 6000
net.ipv4.tcp_sack = 1
net.ipv4.tcp_window_scaling = 1
net.ipv4.tcp_rmem = 4096 87380 4194304
net.ipv4.tcp_wmem = 4096 16384 4194304
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem_max = 16777216
net.core.netdev_max_backlog = 262144
net.core.somaxconn = 262144
net.ipv4.tcp_max_orphans = 3276800
net.ipv4.tcp_max_syn_backlog = 262144
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 1
net.ipv4.tcp_syn_retries = 1
net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_fin_timeout = 1
net.ipv4.tcp_keepalive_time = 30
net.ipv4.ip_local_port_range = 1024 65000
EOF
/sbin/sysctl -p
echo "sysctl set OK!!"
}
green "优化内核参数完成"
main(){
iptables_config
selinux_conf
yum_config
ip_config
ssh_config
chrony_config
hostnamectl
ulimit_config
sysctl_config
}
main
标签:---,操作系统,dev,centos7,etc,yum,linux,green,config 来源: https://blog.csdn.net/weixin_43529253/article/details/121876036