ICode9

精准搜索请尝试: 精确搜索
首页 > 系统相关> 文章详细

linux操作系统基础配置【基于centos7]

2021-12-11 16:59:39  阅读:180  来源: 互联网

标签:--- 操作系统 dev centos7 etc yum linux green config


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

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有