首页 > 系统相关 >Linux服务器初始化基础优化

Linux服务器初始化基础优化

时间:2023-02-03 12:33:54浏览次数:61  
标签:初始化 cn Linux etc yum aliyun edu 服务器 com

注意:这里以Centos为主

如何最小化安装系统

仅安装需要的,按需安装、不用不装,必须安装的有开发包、基本网络包、基本应用包。

ssh登录系统策略

vim /etc/ssh/sshd_config

#SSH链接默认端口,修改默认22端口为1万以上端口号,避免被扫描和攻击。

Port 22221

#不使用DNS反查,可提高ssh连接速度

UseDNS no

$ sed -ri 's/^.*(UseDNS) .*$/\1 no/' /etc/ssh/sshd_config && sed -rn '/UseDNS/p' /etc/ssh/sshd_config

#关闭GSSAPI验证,可提高ssh连接速度

GSSAPIAuthentication no

$ sed -ri 's/^.*(GSSAPIAuthentication ).*$/\1no/' /etc/ssh/sshd_config && sed -rn '/GSSAPIAuthentication/p' /etc/ssh/sshd_config

#禁止远程root账号登陆

PermitRootLogin no

selinux, iptables策略设置

cat /etc/selinux/config

Selinux的状态:

enforcing 开启状态、permissive 提醒的状态 、disabled 关闭状态

$ vim /etc/selinux/config
SELINUX=disabled
#命令
$ sed -ri.bak 's/^(SELINUX=).*$/\1disabled/' /etc/selinux/config
#生效配置(临时生效)
$ setenforce 0

关闭防火墙

$ systemctl stop firewalld.service 
$ systemctl disable firewalld.service
$ systemctl status firewalld.service 

iptables -L -n

或者配置策略

#安装 iptables-services 实现iptables.service
$ yum install iptables-services
$ iptables-save > /etc/sysconfig/iptables
$ systemctl enable iptables.service

#如果有配置的话,根据需要把需要的表的链的默认设置都设置ACCEPT,并清空规则
#filter表的所有链
$ iptables -P FORWARD ACCEPT
$ iptables -P INPUT ACCEPT
$ iptables -P OUTPUT ACCEPT
$ iptables -F
$ iptables -X

#上面的清空一般指清空filter表的
#给filter表配置策略
#允许ssh icmp 以及主动发起的连接的相关连接
$ iptables -t filter -I INPUT -p tcp --dprot 22 -j ACCEPT
$ iptables -t filter -I INPUT -p icmp -j ACCEPT
$ iptables -A INPUT -m state --state ESTABLISHED,RELATED -j ACCEPT #这条很重要
#最后修改默认策略
$ iptables -t filter -P INPUT DROP
#保存策略
$ service iptables save

更新yum源及必要软件安装

常用的几个yum源

epel源:https://fedoraproject.org/wiki/EPEL

repoforge源:http://repoforge.org/use/

$ yum install epel-release.noarch -y
$ rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
$ yum clean all
$ yum makecache

$ yum update  #更新系统所以软件和内核

或者直接写

$ vim /etc/yum.repos.d/test.repo 
[epel]
name=epel
failovermethod=priority
baseurl=https://mirrors.tuna.tsinghua.edu.cn/epel/7/$basearch
	http://mirrors.aliyun.com/epel/7/$basearch
	http://mirrors.aliyuncs.com/centos/$releasever/os/$basearch/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-EPEL-7

[development]
name=base
failovermethod=priority
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/os/x86_64/
	https://mirrors.163.com/centos/7/os/x86_64/
enabled=1
gpgcheck=0
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-$releasever

[updates]
name=CentOS-$releasever - Updates - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/updates/x86_64/
	http://mirrors.aliyun.com/centos/$releasever/updates/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/updates/$basearch/
enabled=1
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

[extras]
name=CentOS-$releasever - Extras - mirrors.aliyun.com
failovermethod=priority
baseurl=https://mirror.tuna.tsinghua.edu.cn/centos/7/extras/x86_64/
	http://mirrors.aliyun.com/centos/$releasever/extras/$basearch/
        http://mirrors.aliyuncs.com/centos/$releasever/extras/$basearch/
enabled=1
gpgcheck=0
gpgkey=http://mirrors.aliyun.com/centos/RPM-GPG-KEY-CentOS-7

定时自动更新服务器时间

时间服务器

阿里云时间服务器:

ntp.aliyun.com

ntp1.aliyun.com

ntp2.aliyun.com

ntp3.aliyun.com

ntp4.aliyun.com

ntp5.aliyun.com

ntp6.aliyun.com

ntp7.aliyun.com

腾讯云NTP服务器:

time1.cloud.tencent.com
time2.cloud.tencent.com
time3.cloud.tencent.com
time4.cloud.tencent.com
time5.cloud.tencent.com

ntp.sjtu.edu.cn 202.120.2.101 (上海交通大学网络中心NTP服务器地址)
s1a.time.edu.cn 北京邮电大学
s1b.time.edu.cn 清华大学
s1c.time.edu.cn 北京大学
s1d.time.edu.cn 东南大学
s1e.time.edu.cn 清华大学
s2a.time.edu.cn 清华大学
s2b.time.edu.cn 清华大学
s2c.time.edu.cn 北京邮电大学
s2d.time.edu.cn 西南地区网络中心
s2e.time.edu.cn 西北地区网络中心
s2f.time.edu.cn 东北地区网络中心
s2g.time.edu.cn 华东南地区网络中心
s2h.time.edu.cn 四川大学网络管理中心
s2j.time.edu.cn 大连理工大学网络中心
s2k.time.edu.cn CERNET桂林主节点
s2m.time.edu.cn 北京大学

校准

/usr/sbin/ntpdate ntp1.aliyun.com >> /var/log/ntp.log 2>&1; /sbin/hwclock -w

加到时间任务中

crontab -e

每十分钟执行一次校准

*/10 * * * * root /usr/sbin/ntpdate ntp1.aliyun.com >> /var/log/ntp.log 2>&1; /sbin/hwclock -w

使用chronyd同步时间

安装

$ yum -y install chrony

修改配置

$ vim /etc/chrony.conf
#注释下面的部分
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

#添加下面的部分
server ntp.aliyun.com iburst
server ntp.tuna.tsinghua.edu.cn iburst
server ntp1.aliyun.com iburst
server ntp2.aliyun.com iburst
server ntp3.aliyun.com iburst
server ntp4.aliyun.com iburst

启动服务或重启服务

$ systemctl start chronyd
#或者
$ systemctl restart chronyd

#开机自启
$ systemctl enable chronyd

查看是否同步成功

$ chronyc sources
#这个就是没有同步成功,没有?问好
210 Number of sources = 4
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 139.199.214.202               2  10   367   636  -3904us[-3878us] +/-   15ms
^+ 119.28.206.193                2  10   367   390    +12ms[  +12ms] +/-   37ms
^- ntp1.ams1.nl.leaseweb.net     2  10   373   463    +22ms[  +22ms] +/-  192ms
^+ time.neu.edu.cn               1  10   377   912  -4804us[-4783us] +/-   33ms



$ chronyc sources
#这个就是同步成功的,已经出现?问好了
210 Number of sources = 3
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* 203.107.6.88                  2   6    17    19   -742us[-2447us] +/-   31ms
^? 101.6.6.172                   0   7     0     -     +0ns[   +0ns] +/-    0ns
^? 120.25.115.20                 2   7     1    11  +2956us[+2956us] +/- 4450us

重要文件加锁

$ chattr [+-=] [属性] 文件或目录名

+ 表示给文件或目录添加属性,- 表示移除文件或目录拥有的某些属性,= 表示给文件或目录设定一些属性。

属性选项 功能
i 如果对文件设置 i 属性,那么不允许对文件进行删除、改名,也不能添加和修改数据;
如果对目录设置 i 属性,那么只能修改目录下文件中的数据,但不允许建立和删除文件;
a 如果对文件设置 a 属性,那么只能在文件中増加数据,但是不能删除和修改数据;
如果对目录设置 a 属性,那么只允许在目录中建立和修改文件,但是不允许删除文件;
u 设置此属性的文件或目录,在删除时,其内容会被保存,以保证后期能够恢复,常用来防止意外删除文件或目录。
s 和 u 相反,删除文件或目录时,会被彻底删除(直接从硬盘上删除,然后用 0 填充所占用的区域),不可恢复。

加锁的文件是无法修改的

chattr +i /etc/sudoers

chattr +i /etc/shadow

chattr +i /etc/passwd

chattr +i /etc/grub.conf

可以用lsattr 查看文件是否被加锁

$ lsattr /etc/crontab
---------------- /etc/crontab
# 加锁
$ chattr +i /etc/crontab
$ lsattr /etc/crontab
----i----------- /etc/crontab
# 去锁
$ chattr -i /etc/crontab

系统资源参数优化

/etc/security/limits.conf

/etc/security/limits.d/90-nproc.conf(centos6.x)

/etc/security/limits.d/20-nproc.conf(centos7.x)

cat << EOF >> /etc/security/limits.conf
*        soft    nproc           204800
*        hard    nproc           204800
*        soft    nofile          655360
*        hard    nofile          655360
*        soft    memlock         unlimited
*        hard    memlock         unlimited
EOF

最后,还需要修改/etc/security/limits.d/20-nproc.conf文件(centos7.x系统),将:

*          soft    nproc     4096

修改为:

*          soft    nproc     40960

#或者
$ sed -ri 's/ 4096$/ 40960/' /etc/security/limits.d/20-nproc.conf && cat /etc/security/limits.d/20-nproc.conf

或者直接删除/etc/security/limits.d/20-nproc.conf文件也行。

ulimit命令

ulimit -a

  • -a 显示当前系统所有的limit资源信息。
  • -H 设置硬资源限制,一旦设置不能增加。
  • -S 设置软资源限制,设置后可以增加,但是不能超过硬资源设置。
  • -c 最大的core文件的大小,以 blocks 为单位。
  • -f 进程可以创建文件的最大值,以blocks 为单位.
  • -d 进程最大的数据段的大小,以Kbytes 为单位。
  • -m 最大内存大小,以Kbytes为单位。
  • -n 可以打开的最大文件描述符的数量。
  • -s 线程栈大小,以Kbytes为单位。
  • -p 管道缓冲区的大小,以Kbytes 为单位。
  • -u 用户最大可用的进程数。
  • -v 进程最大可用的虚拟内存,以Kbytes 为单位。
  • -t 最大CPU占用时间,以秒为单位。
  • -l 最大可加锁内存大小,以Kbytes 为单位。

如果需要暂时生效,直接ulimit 选项 修改的值

例如:ulimit -n 65535 修改最大文件描述符数

如果需要永久生效,需要写入文件

配置到/etc/security/limits.conf 或者 /etc/security/limits.d/下的文件

/etc/security/limits.d/下的文件优先级比/etc/security/limits.conf高

配置格式

<domain> <type> <item> <value>

<domain> 可以是:

  • 用户名
  • 组名,使用@group 语法
  • 通配符 *,用于默认条目
  • 通配符 %,也可以与 %group 语法一起使用,最大登录限制

<type> 可以有两个值:

  • soft 用于执行软限制
  • hard 用于执行硬限制

<item> 可以是以下之一:

 - core  限制核心文件大小 (KB)
  • data 最大数据大小 (KB)
    • fsize 最大文件大小 (KB)
    • memlock - 最大锁定内存地址空间 (KB)
    • nofile - 打开文件描述符的最大数量
    • rss - 最大驻留集大小 (KB)
    • stack - 最大堆栈大小 (KB)
    • cpu - 最大 CPU 时间 (MIN)
    • nproc - 最大进程数
    • as - 地址空间限制 (KB)
    • maxlogins - 此用户的最大登录数
    • maxsyslogins - 系统上的最大登录数
    • priority - 运行用户进程的优先级
    • locks - 用户可以持有的最大文件锁数
    • sigpending - 挂起信号的最大数量
    • msgqueue - POSIX 消息队列使用的最大内存(字节)
    • nice - 允许提升到值的最大 nice 优先级:[-20, 19]
    • rtprio - 最大实时优先级

比如:

所有用户对最大进程数的硬限制是10000

* hard nproc 10000

对root用户的最大打开文件描述符的数的硬限制是65535

root hard nofile 65535

对root用户的cpu最大时间没有限制

root hard cpu unlimited

希望文件生效,只需要关掉终端,重新连接就好了

更改提示符颜色

写到/etc/profile文件中,或者写成文件放到/etc/profile.d/目录下

PATH=/data/:$PATH
#二选一
PS1="\[\e[1;32m\][\[\e[0m\]`date +'%D'` \t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"
PS1="\[\e[1;32m\][\[\e[0m\]\t \[\e[1;33m\]\u\[\e[36m\]@\h\[\e[1;31m\] \W\[\e[1;32m\]]\[\e[0m\]\\$"

设置启动模式

$ systemctl set-default graphical.target #由命令行模式更改为图形界面模式
$ systemctl set-default multi-user.target #由图形界面模式更改为命令行模式

安装必要的包

#装tree命令
$ yum install tree -y
#安装tab增强包
$ yum -y install bash-completion
#安装开发包
$ yum groups install "Development Tools"
#安装yum工具
$ yum install yum-utils.noarch
#安装rz和sz
$ yum install lrzsz -y

设置语言

#查看是否安装了语言包
$ locale -a
#未安装的话,需要安装下这个包组
$ yum groupinstall "fonts" -y

#设置字符集
$ localectl set-locale LANG=zh_CN.utf8
#重启
$ reboot

设置日志格式

#修改文件
$ vim /etc/rsyslog.conf
$ActionFileDefaultTemplate RSYSLOG_FileFormat
#重启
$ systemctl restart rsyslog.service

#或者直接修改重启
$ sed -ri 's/^(\$ActionFileDefaultTemplate ).*$/\1RSYSLOG_FileFormat/' /etc/rsyslog.conf && systemctl restart rsyslog.service

#8版
$ sed -ri "s/RSYSLOG_TraditionalFileFormat/RSYSLOG_FileFormat/" /etc/rsyslog.conf && systemctl restart rsyslog.service

设置日志周期

$ sed -ri "s/^weekly/monthly/" /etc/logrotate.conf

安装基础包

$ yum install -y yum-utils device-mapper-persistent-data lvm2 wget net-tools nfs-utils lrzsz gcc gcc-c++ make cmake libxml2-devel openssl-devel curl curl-devel unzip sudo ntp libaio-devel wget vim ncurses-devel autoconf automake zlib-devel  python-devel epel-release openssh-server socat  ipvsadm conntrack ntpdate telnet ipvsadm

标签:初始化,cn,Linux,etc,yum,aliyun,edu,服务器,com
From: https://www.cnblogs.com/guangdelw/p/17088744.html

相关文章