linux高级应用篇------系统优化

在机器上安装完linux系统后,一般要做的有系统更新、软件安装、软件更新、系统优化等等,本次我们来讨论最容易忘却和忽略的系统优化。

以下针对linux列出一系列优化点,并列出每点的优化命令(经测试)

适用于(CentOS/Redhat/Fedora 5-6版本)

1. 关闭SELinux功能

sed -i ‘s/SELINUX=enforcing/SELINUX=disabled/‘ /etc/selinux/config

setenforce 0 > /dev/null 2>&1

2. 设置运行级别为3

sed -i ‘s#id:5:initdefault:#id:3:initdefault:#‘ /etc/inittab

3. 精简开机启动

方法一:

LANG=en && for name in `chkconfig --list | grep 3:on | awk ‘{print $1}‘ | grep -Ev "sshd|network|sysstat|crond|rsyslog" `; do chkconfig $name off; done

方法二:

LANG=en && chkconfig --list | grep 3:on | grep -vE "crond|sshd|network|rsyslog|sysstat" | awk ‘{print $1}‘ | sed -r ‘s#(.*)#chkconfig \1 off#g‘|bash

方法三:

LANG=en && chkconfig --list | grep 3:off | awk ‘{print $1}‘ | grep -Ev "sshd|network|sysstat|crond|rsyslog" | awk ‘{print "chkconfig " $1 " off"}‘ | bash

4. 关闭iptables防火墙(有外网ip需谨慎)

/etc/init.d/iptables stop && chkconfig iptables off

5. ssh优化 关闭userDNS检查、更改访问端口、禁止空密码登陆、禁止root登陆、关闭GSS检查

sed -r  -e ‘s/#?UseDNS yes/UseDNS no/‘  \

-e ‘s/#+Port 22/Port 22/‘  \

-e ‘s/#+PermitEmptyPasswords no/PermitEmptyPasswords no/‘  \

-e ‘s/#+PermitRootLogin yes/PermitRootLogin no/‘  \

-e ‘s/GSSAPIAuthentication yes/GSSAPIAuthentication no/‘  \

-i /etc/ssh/sshd_config

##通过防火墙限制仅能使用内网IP连接服务器(慎用)

iptables -I INPUT -p tcp --dport 22 -s 192.168.56.0/24 -j ACCEPT

6. sudo安全管理

方法一:

visodu 手动管理

方法二:

sed -i "`grep -En "^root" /etc/sudoers| awk -F ‘:‘ ‘{print $1}‘`aroot\tALL=(ALL)\tNOPASSWD: ALL" /etc/sudoers && visudo -c

7. 中文显示 先备份,再修改,最后比对

cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori && sed -i ‘s#en_US.UTF-8#zh_CN.UTF-8#g‘ /etc/sysconfig/i18n && source /etc/sysconfig/i18n

8. 时间同步

echo "#time sync by cnlisea at `date +%F" "%T`" >> /var/spool/cron/root

echo "*/30 * * * * /usr/sbin/ntpdate pool.ntp.org > /dev/null 2>&1" >> /var/spool/cron/root     hwclock

9. 系统使用设置

设置闲置账号超时时间

echo "export TMOUT=300" >> /etc/bashrc

设置历史命令数

echo "export HISTSIZE=5" >> /etc/bashrc

历史记录文件的命令数据

echo "export HISTFILESIZE=5" >> /etc/bashrc

source /etc/bashrc

10. 调整linux系统文件描述符数量

echo -e "*\t\t-\tnofile\t\t65535" >> /etc/security/limits.conf

source /etc/bashrc

11. linux内核参数优化

net.ipv4.tcp_fin_timeout = 2

net.ipv4.tcp_tw_reuse = 1

net.ipv4.tcp_tw_recycle = 1

net.ipv4.tcp_syncookies = 1

net.ipv4.tcp_keepalive_time = 600

net.ipv4.ip_local_port_range = 4000 65000

net.ipv4.tcp_max_syn_backlog = 16384

net.ipv4.tcp_max_tw_buckets = 36000

net.ipv4.route.gc_timeout = 100

net_ipv4.tcp_syn_retries = 1

net.ipv4.tcp_synack_retries = 1

net.core.somaxconn = 16384

net.core.netdev_max_backlog = 16384

net.ipv4.tcp_max_orphans = 16384

//是参iptables防火墙的优化

net.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_max = 25000000

net.netfilter.nf_conntrack_tcp_timeout_established = 180

net.netfilter.nf_conntrack_tcp_timeout_time_wait = 120

net.netfilter.nf_conntrack_tcp_timeout_close_wait = 60

net.netfilter.nf_conntrack_tcp_timeout_fin_wait = 120

##重新加载系统参数

sysctl -p

12. 隐藏linux版本信息

> /etc/issue

> /etc/issue.net

13. 锁定关键系统文件(慎用)

加锁 chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

解锁 chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab

将chattr改名转称

mv /usr/bin/chattr /usr/bin/lisea

14. 清除多余的系统虚拟账号

按需清理。

15. 禁止系统被ping(慎用)

echo "net.ipv4.icmp_echo_ignore_all = 1" >> /etc/sysctl.conf

sysctl -p

时间: 2024-08-05 10:36:43

linux高级应用篇------系统优化的相关文章

R的极客理想——高级开发篇

这篇是计算机类的优质预售推荐>>>><R的极客理想--高级开发篇> 资深R语言用户多年实战经验的结晶 编辑推荐 资深R语言用户多年实战经验的结晶,介绍R语言本身的核心技术以及R语言在不同领域的跨学科综合应用,借助每日中国天气的应用案例和游戏开发的案例,揭秘完整的R包开发流程,帮助读者创建自己的R包,打开R语言产品化的思路. 内容简介 本书的内容来自作者使用R语言的实践经验总结,以R语言的高级编程为主,辅以跨界知识的综合运用,涉及计算机.统计.数学.金融四个学科的知识.书

Linux 高级安全SELinux的关闭

Linux有一个高级安全组件,如果开启会输出打了的日志文件messages.如下: 导致/var/log/messages 达到11g [email protected] ~]# df -l文件系统               1K-块        已用     可用 已用% 挂载点/dev/cciss/c0d0p5     14877060  12559852   1549304  90% //dev/cciss/c0d0p6      9920592   2951964   6456560

【Linux 高级命令】

20个对Linux专家非常有用命令 http://os.51cto.com/art/201308/406979_all.htm 13个超实用的Linux性能监测命令行工具 http://os.51cto.com/art/201304/388673_all.htm 11 个很有用但鲜有人知的 Linux 命令 http://os.51cto.com/art/201310/414075.htm [Linux 高级命令],布布扣,bubuko.com

Linux工具参考篇(网摘)

Linux工具参考篇 原文出处:[Linux Tools Quick Tutorial] 1. gdb 调试利器 2. ldd 查看程序依赖库 3. lsof 一切皆文件 4. ps 进程查看器 5. pstack 跟踪进程栈 6. strace 跟踪进程中的系统调用 7. ipcs 查询进程间通信状态 8. top linux下的任务管理器 9. free 查询可用内存 10. vmstat 监视内存使用情况 11. iostat 监视I/O子系统 12. sar 找出系统瓶颈的利器 13.

Linux高级进程间通信:UNIX域套接字

UNIX域套接字简介 UNIX域套接字用于在同一台机器上运行的进程间的通信.虽然因特网域套接字可用于同一目的,但UNIX域套接字的效率更高.UNIX域套接字仅仅复制数据,它们并不执行协议处理,不需要添加和删除网络报头,无需计算检验和,不要产生顺序号,无需发送确认报文. UNIX域套接字提供流和数据报两种接口.UNIX域数据报服务是可靠的,既不会丢失消息也不会传递错误.UNIX域套接字是套接字和管道之间的混合物.为了创建一对非命名的.相互连接的UNIX域套接字,用户可以使用它们面向网络的域套接字接

ci高级用法篇之扩展核心类

在上一篇文章ci高级用法篇之创建自己的类库中,你是否觉得每个控制器的构造方法都去执行校验代码其实违背了编程规范中的DRY(do'nt repeat yourself)原则呢? 其实我们完全可以把校验的代码在父类的构造函数中.ci中控制器的父类是CI_Controller,现在我们来扩展这个父类. 在application/core目录下创建一个类文件,MY_Controller.php,内容如下: <?php class MY_Controller extends ci_Controller{

linux初学者-ftp篇(一)

linux初学者-ftp篇(一) FTP是文件传输协议,是用于Internet上的控制文件的双向传输.用户可以通过客户机程序从远程主机上下载或者向远程主机上传文件. linux系统中,如果不了解SELINUX,需要将SELINUX下的enforing改为disabled,否则在进行上传或者下载时会有影响. 1.vsftpd服务的安装 在有yum源的前提下,输入"yum install vsftpd.x86_64 lftp.x86_64 -y"安装vsftpd服务,"vsftp

linux初学者-iscsi篇

linux初学者-iscsi篇 之前介绍过网络文件共享系统NFS和CIFS.在系统中,设备也是可以共享的,这就是iSCSI,它可以用来建立和管理IP存储设备.主机和客户机等之间的相互连接.下文将简要介绍这种网络设备共享系统.       1.安装 因为iSCSI是设备共享系统,所以在进行操作之间,需要先有一个硬盘设备.本文中是使用"fdisk /dev/vdb"来新建一个分区设备"/dev/vdb1"来作为共享设备. "yum install target

linux初学者-磁盘阵列篇

linux初学者-磁盘阵列篇 在磁盘的使用中,有时候需要提高磁盘的读写数据速度,就要用到磁盘组--raid,也就是磁盘阵列. 磁盘阵列是由最少两块以上的磁盘组成的,raid有许多模式,在这里将介绍其中常用的模式raid0.raid1和raid5. raid0:raid0是用来提高读取数据速度的,其用两块以上的磁盘组成,是将数据同时记录在这几个磁盘中,在使用时,几块磁盘各读取一部分数据.这种磁盘组因为需要存入的数据完全相同,所以容量和一块磁盘的容量大小相同,但是读取速度会变快. raid1:rai