Linux系统初级优化

系统参数优化和怎样增强系统安全性,系统默认的一些参数都是比较保守的,所以我们可以通过调整系统参数来提高系统内存、CPU、内核资源的占用,通过禁用不必要的服务、端口,来提高系统的安全性,更好的发挥系统的可用性。通过自己对Linux了解。首先在系统优化之前需要秉循的四个最小化原则:

a 安装软件最小化

b 目录文件权限最小化

c 用户权限最小化

d 程序运行权限最小化
-----------------------------------------------------------------------------------------------------------------------------------------------------------
1、系统安装最小化
在搭建服务器的linux系统的时候,尽量不要安装那些不需要的服务,一个是安装越多风险越大,其次是安装的越多,对服务器资源的消耗越大。
所以安装服务器linux,选择最小化安装,需要一些基础的安装包即可,后期需要什么,通过yum等工具都可以安装。
2、修改主机名
[root@ladeng~]# vi /etc/sysconfig/network 
HOSTNAME=test.com 
[root@ladeng~]# hostname test.com  #临时生效 

3、关闭SELinux

[root@ladeng~]# vi /etc/selinux/config
SELINUX=disabled
[root@ladeng~]# setenforce 0 #临时生效
[root@ladeng~]# getenforce #查看selinux状态

4、添加普通用户并进行sudo授权管理

[root@ladeng~]# useradd user
[root@ladeng~]# echo "123456" | passwd --stdin user #设置密码
[root@ladeng~]# vi /etc/sudoers #或visudo打开,添加user用户所有权限
root ALL=(ALL) ALL
user ALL=(ALL) ALL

5、修改ssh登录端口号并禁用root远程登录

[root@ladeng~]# vi /etc/ssh/sshd_config
Port 52113
PermitRootLogin no
PermitEmptyPasswords no #禁止空密码登录
PasswordAuthentication yes
GSSAPIAuthentication no
UseDNSno #关闭DNS查询

 

6、定时自动更新服务器时间

[root@moban ~]# crontab -l
#time sync by oldboy at 2010-2-1
*/5 * * * * /usr/sbin/ntpdate time.nist.gov >/dev/null 2>&1

 

7、配置yum更新源,从国内更新源下载安装rpm包

[root@c64 yum.repos.d]# /bin/mv CentOS-Base.repo CentOS-Base.repo.bak
[root@c64 yum.repos.d]# wget http://mirrors.163.com/.help/CentOS6-Base-163.repo

 

8、关闭iptables并重新制定iptables规则

 

9、调整文件描述符大小

[root@ladeng ~]# ulimit –n #默认是1024
1024
[root@ladeng ~]# echo "ulimit -SHn 102400">> /etc/rc.local #设置开机自动生效

 

10、定时自动清理/var/spool/clientmqueue/目录垃圾文件,防止inodes节点被占满(C5版本需要,C6不需要)

11、精简开机自启动服务

 

12、删除不必要的系统用户

 

13、关闭重启ctl-alt-delete组合键

[root@ladeng ~]# vi /etc/init/control-alt-delete.conf
#exec /sbin/shutdown -r now "Control-Alt-Deletepressed" #注释掉

 

14、内核参数优化

[root@ladeng ~]# vi /etc/sysctl.conf #末尾添加如下参数
net.ipv4.tcp_syncookies = 1 #1是开启SYN Cookies,当出现SYN等待队列溢出时,启用Cookies来处,理,可防范少量SYN攻击,默认是0关闭
net.ipv4.tcp_tw_reuse = 1 #1是开启重用,允许讲TIME_AIT sockets重新用于新的TCP连接,默认是0关闭
net.ipv4.tcp_tw_recycle = 1 #TCP失败重传次数,默认是15,减少次数可释放内核资源
net.ipv4.ip_local_port_range = 4096 65000 #应用程序可使用的端口范围
net.ipv4.tcp_max_tw_buckets = 5000 #系统同时保持TIME_WAIT套接字的最大数量,如果超出这个数字,TIME_WATI套接字将立刻被清除并打印警告信息,默认180000
net.ipv4.tcp_max_syn_backlog = 4096 #进入SYN宝的最大请求队列,默认是1024
net.core.netdev_max_backlog = 10240 #允许送到队列的数据包最大设备队列,默认300
net.core.somaxconn = 2048 #listen挂起请求的最大数量,默认128
net.core.wmem_default = 8388608 #发送缓存区大小的缺省值
net.core.rmem_default = 8388608 #接受套接字缓冲区大小的缺省值(以字节为单位)
net.core.rmem_max = 16777216 #最大接收缓冲区大小的最大值
net.core.wmem_max = 16777216 #发送缓冲区大小的最大值
net.ipv4.tcp_synack_retries = 2 #SYN-ACK握手状态重试次数,默认5
net.ipv4.tcp_syn_retries = 2 #向外SYN握手重试次数,默认4
net.ipv4.tcp_tw_recycle = 1 #开启TCP连接中TIME_WAIT sockets的快速回收,默认是0关闭
net.ipv4.tcp_max_orphans = 3276800 #系统中最多有多少个TCP套接字不被关联到任何一个用户文件句柄上,如果超出这个数字,孤儿连接将立即复位并打印警告信息
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_mem[0]:低于此值,TCP没有内存压力;
net.ipv4.tcp_mem[1]:在此值下,进入内存压力阶段;
net.ipv4.tcp_mem[2]:高于此值,TCP拒绝分配socket。内存单位是页,可根据物理内存大小进行调整,如果内存足够大的话,可适当往上调。上述内存单位是页,而不是字节。

 

15、去除系统相关信息

[root@ladeng ~]# >/etc/issue
[root@ladeng ~]# >/etc/redhat-release

 

16、锁定关键系统文件

chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow

做完之后重启、搞定收工。

 

转载于:https://www.cnblogs.com/ladeng/p/4838438.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/272913.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【原创】SQlServer数据库生成简单的说明文档小工具(附源码)

这是一款简单的数据库文档生成工具,主要实现了SQlServer生成说明文档的小工具,目前不够完善,主要可以把数据库的表以及表的详细字段信息,导出到Word中,可以方便开发人员了解数据库的信息或写技术说明文档。技术上主要采…

封装成vla函数_第四章:Python之函数

第一节:函数入门与定义函数理解函数所谓函数,就是为一段实现特定功能的代码“取”个名字,以后即可通过该名字来执行(调用)这段代码从逻辑上看,函数相当于一个黑匣子定义函数的语法定义函数的三条铁律函数需要几个关键的、需要动态…

allegro大十字光标设置方法

使用大十字光标,在摆放元器件时,容易对齐。在allegro中,可以通过设置实现大十字光标,其具体方法如下: 1、选择Setup->User Perferences,即可出现如下图所示界面: 2、选择Display-…

基于.NET平台常用的框架整理(收藏)

目录 分布式缓存框架 日志记录异常处理 关于NoSQL数据库 自动任务调度框架 依赖注入IOC容器框架 常用的几个ORM框架 格式和数据类型转换 反射和动态语言 跨平台和运行时解决方案 WEB开发和设计 移动互联网和云计算 网络通信和网络协议 图形和图像处理框架 桌面应用程序框架 测试…

界址点号_界址点及四至优化

先对文中提到的面做一个解释,他可以指地块,宗地。一、界址点先说一下对界址点优化的情况,之前的方法主要是只要考虑了对坐标排序的问题,对于比较规整的面出的效果还是挺好,但往往现实中的面都比较复杂,像下…

java程序 输入10个数字并求和

课程作业: 模仿JavaAppArguments.java示例,编写编写一个程序,此程序从命令行接受多个数字,求和之后输出结果。 设计思想: 先从命令行读出数字,然后计算各个数字之和。求出结果。 流程图: 程序源…

是先打工还是直接创业?答案让我惊呆了!

第一问:成功路上,您是自己乱走,还是有老师指导更好?人生路上,因为有父母,才有生命;成功路上,因为有老师,才有方向。父母优秀,才可以培养出优秀的孩子。优秀的…

MVC知识点整理汇总

MVC与ASP.NET MVC基础概念MVC是Model-View-Controller的缩写.MVC将应用程序划分为3大组件:模型\视图\控制器.MVC不是ASP.NET所特有,它只是一种开发理念.java中的struts2也是一种MVC模型.ASP.NET MVC从2008年发布1.0版以来,截至2014年ASP.NET MVC最新版本已经是5.0.ASP.NET MVC从…

第三次作业——结对编程

成员:031302439 031302415 本次实践中我们是用phpmysql来实现所需功能的,其中使用到的软件有PowerDesigner和WampServer 一. PowerDesigner使用过程 1. 运行程序,进入主界面,新建一个Model,设置DBMS属性。我们…

NET比较常用的性能优化技巧

现在很多客户也慢慢开始注重网站的性能了,同时有很多运营网站的公司也不像以前那样特别在意网站是否非常漂亮,而把更多的精力放在了网站性能优化上面,提供更快更稳定的浏览速度,在这个基础上面进行网站功能上的扩充和完善&#xf…

js修改mysql数据库数据_Node.js操作mysql数据库增删改查

关于node.js操作mysql数据库的相关介绍请阅读全文吧。下文介绍的非常详细,具体内容如下所示:安装mysql模块npm install mysql数据库准备mysql server所在的机器IP地址是192.168.0.108,登录账户就用root123456在mysql中创建test数据库在test数…

Win10 注册IIs4.0的解决方案

随着Win10的出现,越来越多的人装上了Win10,尤其是程序员,由于Win10是一个新的操作系统,但现有软件的兼容性等各方面都是未知,难免会存在很多坑,就拿IIS来说,我刚装完win10系统,然后装…

DotNet 资源框架整理

目录 框架 应用模板(Application Templates) 人工智能(Artificial Intelligence) 程序集处理(Assembly Manipulation) 资源(Assets) 认证和授权(Authentication an…

oracle9

约束 维护数据的完整性 数据的完整性用于确保数据库数据遵从一定的商业和逻辑规则(比如年纪不能为-1,性别不能为非男女),在oracle中,数据完整性可以使用约束、触发器、应用程序(过程、函数)三种…

公司来了个傻员工,改变了所有聪明的员工

公司来了个新员工,有点土,但很听话。其它员工都把所有得工作堆给他做,新员工不介意,默默地帮他们都完成。主管看到他勤快,叫他帮忙跟着做很多事情,可他一点都不介意,可他帮主管做事都是义务的。…

mysql 交叉连接的用法_sql中内连接与外连接与交叉连接用法

文章介绍了在mysql中的内连接与外连接与交叉连接用法与举例说明了,有需要了解的朋友可以参考一下下。(一)内连接SQL INNER JOIN 关键字在表中存在至少一个匹配时,INNER JOIN 关键字返回行。内连接查询操作列出与连接条件匹配的数据行,它使用比…

使用JAXP对XML文档进行DOM解析

一、XML解析方式分为两种:dom和sax dom:(Document Object Model,即文档对象模型)是W3C组织推荐的解析XML的一种方式。sax:(Simple API for XML)不是官方标准,但它是XML社区事实上的标准&#xf…

tfpose与openpose区别_人体姿态识别--Openpose+Tensorflow

目的复现代码完成视频中的人体姿态识别复现过程视频来源:https://www.youtube.com/watch?vcMhWNGBW1Xg​www.youtube.com视频动图检测结果下载的画质本来就不高,再加上两次录屏,画质比较渣。首先确认工程所需要的依赖:python3ten…

让 步( 写的太好了!)

一个不懂得为亲人让步,为朋友让步,为爱人让步,为合作伙伴让步的人,是缺乏胸襟的人,最无能和不可交的人。试问一个连自己人都斤斤计较的人可交往吗!长不大的人最重要的标志,就是跟自己人&#xf…

Android学习手记(2) Activity生命周期

1. 单个Activity的生命周期 当只有一个Activity的时候, 首先执行onCreate->onStart->onResume。 这时, 窗口便显示在屏幕上了。 然后我们按返回键退到桌面的时候,便执行onPause->onStop。这时候, 如果我们在最近使用程序…