Linux系统调优及安全设置

1.添加普通用户

一般情况下,在生产环境中要尽量避免直接使用root用户登录系统,或者直接使用root用户进行操作,除非有系统维护的特殊需求。我们可以添加一个普通用户,并为其设置登录密码:

[root@ecs1 ~]# useradd lh
[root@ecs1 ~]# passwd lh
Changing password for user lh.
New password: 
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@ecs1 ~]# 
用户间切换

用户切换用到的命令是:su,建议一般切换用户时,使用“su -”,因为两者之间有一些微妙的差别:加载的环境变量不同
su 属于非登录式shell
su - 属于登录式shell

举个栗子:

我们为所有的定义了环境变量的文件追加命令:

 vim /etc/profile                    ==> echo 'loading /etc/profile'
 vim /etc/profile.d/scripts.sh  ==> echo 'loading /etc/profile.d/*,sh'
 vim .bash_profile                 ==> echo 'loading ~/.bash_profile'
 vim .bashrc                         ==> echo 'loading ~/.bashrc'
 vim /etc/bashrc                   ==> echo 'loading /etc/bashrc'

此时我们使用su命令切换用户测试效果:

[root@ecs1 ~]# su root
loading ~/.bashrc
loading /etc/bashrc
loading /etc/profile.d/*,sh

使用“-”符号后:

[root@ecs1 ~]# su - root
Last login:  CST 2019 on pts/0
loading /etc/profile
loading /etc/profile.d/*,sh
loading ~/.bash_profile
loading ~/.bashrc
loading /etc/bashrc
[root@ecs1 ~]# 

结论:两者之间加载的环境变量不同,加“-”加载环境变量更多,在切换用户的时候建议使用 su -

2. 关闭SELinux功能

SELinux是美国国家安全局设置的强制访问控制,一般在生产环境中都是关闭状态,安全性的问题可以通过别的方法解决

  1. 修改配置文件,永久性关闭SELinux,将第七行中的enabled改为disabled。
[root@ecs1 ~]# vim /etc/selinux/config 
  1 
  2 # This file controls the state of SELinux on the system.
  3 # SELINUX= can take one of these three values:
  4 #     enforcing - SELinux security policy is enforced.
  5 #     permissive - SELinux prints warnings instead of enforcing.
  6 #     disabled - No SELinux policy is loaded.
  7 SELINUX=disabled
  8 # SELINUXTYPE= can take one of three two values:
  9 #     targeted - Targeted processes are protected,
 10 #     minimum - Modification of targeted policy. Only selected processes are protected. 
 11 #     mls - Multi Level Security protection.
 12 SELINUXTYPE=targeted
  1. 临时关闭SELinux。0表示警示状态,但是不会阻止操作;1表示开启状态。
[root@ecs1 ~]# setenforce 
usage:  setenforce [ Enforcing | Permissive | 1 | 0 ]

3. 检查重要的开机自启服务

  1. sshd:远程连接服务
  2. rsyslog:日志相关
  3. network:系统网络服务
  4. crond: 系统和各用户的定时任务
  5. sysstat: 软件包,整合了一系列监测系统性能的工具,包括CPU、硬盘和网络

4. 远程连接服务优化

对Linux有所了解的人都知道,Linux的管理员用户是root,远程连接默认端口号是22,从安全性方面考虑,我们需要把SSH的端口号改掉。

[root@ecs1 ~]# vim /etc/ssh/sshd_config
Port 53730    #端口号
PasswordAuthentication no   #密钥认证而不是密码
PermitRootLogin no    #不允许root远程登录(普通用户登录然后su - root)
GSSAPIAuthentication no
UseDNS no    #不对远程主机名进行反向解析(影响链接速度)

你可能感兴趣的:(Linux系统调优及安全设置)