# 安装完Linux系统后调优及安全设置
[TOC]
## 关闭SELinux功能
关闭方式如下:
* 修改配置文件,使关闭SELinux永久生效
~~~
vi /etc/selinux/config
将SELINUX=enforcing修改为SELINUX=disabled
# 或者
[root@localhost ~]# sed -i 's#SELINUX=enforcing#SELINUX=disabled#g' /etc/selinux/config
# 检查修改是否成功
[root@localhost ~]# grep 'SELINUX=disabled' /etc/selinux/config
SELINUX=disabled
~~~
>[danger] 注意:关闭后需要**重启服务器**,上述方法可以使配置永久生效
* 通过命令行进行临时修改
~~~
# 查看SELINUX状态
[root@localhost ~]# getenforce
Enforcing
[root@localhost ~]# setenforce
usage: setenforce [ Enforcing | Permissive | 1 | 0 ]
# 临时修改SELINUX状态 1启用 0警告、不启用
[root@localhost ~]# setenforce 0
[root@localhost ~]# getenforce
Permissive
~~~
## 系统运行级别
`runlevel` 查看当前系统运行级别
`init number` 切换运行级别
## 精简开机系统启动
企业新装Linux系统之后有必要保留的开机自启动程序有以下5个:
* **crond** 该服务用于周期性地执行系统及用户配置的任务计划。又要周期性执行的任务需要开启,此服务几乎是生产场景必须要用的一个软件。
* **network** 系统启动时,若想激活或关闭各个网络接口,则应(必须)考虑开启。
* **rsyslog** 是操作系统提供的一种机制,系统的首付仅从通常会使用rsyslog将各种信息写入系统日志文件中,Centos6之前的Linux版本此服务的名字为syslog。
* **sshd** 远程连接Linux服务器时需要用到这个服务程序,所以必须要开启,否则将无法连接到Linux服务器。
* **sysstat** 它是一个软件包,包含检测系统性能及效率的一组工具,这些工具对于检测系统性能数据很有帮助。
### 配置方式
#### 执行`ntsysv命令`然后在弹出的窗口中进行设置
#### 执行`setup命令`=>选择`system service`,然后在弹出的窗口中进行设置
#### 通过一行命令或者shell脚本设置
##### 使用`chkconfig --list`查看系统现有启动服务
##### 使用`chkconfig servsername on/off` 开启/关闭所有runlevel级别下自启动或者`chkconfig servername 运行级别 on/off` 开启/关闭某一个运行级别下的自启动状态
##### 如下for循环实现
~~~
for server in `chkconfig --list|grep 3:on |awk '{print $1}'|grep -Ev 'sshd|rsyslog|network|crond|sysstat'`;
do
chkconfig $server off
done
~~~
## 关闭防火墙
### 查看防火墙规则
`iptables -L -n`
### 关闭防火墙
~~~
[root@localhost ~]# /etc/init.d/iptables stop
iptables:清除防火墙规则: [确定]
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:正在卸载模块: [确定]
~~~
### 查看防火墙状态
~~~
[root@localhost ~]# /etc/init.d/iptables status
iptables:未运行防火墙。
~~~
### 关闭防火墙开机自启动
`chkconfig iptables off`
## 最小化原则
>[warning]
> 1. 安装Linux系统最小化,即选包最小化,yum安装软件包也要最小化,无用的包不装。
> 2. 开机自启动服务最小化,即无用的服务不开启。
> 3. 操作命令最小化。例如:删除文件用`rm -f filename` 而不用`rm -rf filename`
> 4. 普通用户授权权限最小化,即只给必须的管理系统的命令。
> 5. inux系统文件及目录的权限设置最小化,禁止随意创建、更改、删除文件
- Linux的安装
- Linux的软件安装管理
- Linux零碎的命令
- 了解ssh
- 系统调优及安全设置
- Linux系统中的硬链接和软连接
- Linux文件和目录的属性及权限
- 命令总结
- 文件目录管理命令
- cat
- cd
- cp
- ls
- mkdir
- mv
- rm
- touch
- vi
- 硬件检测内核shell命令
- echo
- alias
- dd
- diff
- date
- grep(重要)
- head
- rpm
- sed(重要)
- tree
- unalias
- yum
- seq
- su
- less
- more
- tail
- awk(重要)
- pwd
- history
- whoami
- find(重要)
- which
- vimdiff
- sudo
- wget
- ln
- chmod
- chown
- vim常用技巧
- scp
- 工作场景应用总结
- 自动删除n天前日志
- 删除一个目录下的所有文件但保留一个文件
- Linux软件安装
- php安装(apache版本)
- vsftpd安装
- git安装
- python安装
- LNMP安装
- LAMP安装I
- LAMP安装II
- svn安装
- svn在Linux下的命令操作
- svn钩子简介
- svn代码上传流程
- Crond介绍
- sersync应用指南
- 其他
- 小结一
- 系统调优重新整理tmp
- linux禁止root用户直接登录sshd并修改默认端口