学习是一个逐步发现自己无知的过程!

服务器基础优化

1、关闭  SELinux

  关闭selinux
    # 方式一
    sed -ri 's#(^SELINUX=).*#\1disabled#g' /etc/selinux/config
    # 方式二
    sed -i '/^SELINUX=/c SELINUX=disabled' /etc/selinux/config
    # 方式三
    vim /etc/selinux/config
    
    # 临时生效
    setenforce 0  

2、根据需求决定是否关闭  Firewalld

  关闭firewalld防火墙
    systemctl disable firewalld
    systemctl stop firewalld
    systemctl status firewalld

3、更改系统原生yum源

  调整yum源
  rm -rf /etc/yum.repos.d/*
    curl -o /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
    curl -o /etc/yum.repos.d/epel.repo http://mirrors.aliyun.com/repo/epel-7.repo
  清理缓存,并重新生成缓存文件
    yum clean all
    yum makecache

4、安装基础的软件包

  安装基础软件包
    yum install net-tools vim tree htop iftop \
    iotop lrzsz  wget unzip telnet nmap nc psmisc \
    dos2unix bash-completion iotop iftop sysstat -y

 

5、优化 ulimit 最大连接数 (增大文件描述符)

  优化ulimit
    echo '* - nofile 65535' >> /etc/security/limits.conf

6、更改ssh服务远程登录的配置

  [root@greymouster ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori
  [root@greymouster ~]# vi /etc/ssh/sshd_config
   #Port 22  #ssh连接默认端口22
   #PermitRootLogin no # root用户是否禁止远程登录
   #PermitEmptyPasswords no #禁止密码登录
   #UseDNS no    #不使用DNS
   #GSSAPIAuthentication no #让ssh连接更快
   [root@greymouster ~]# /etc/init.d/sshd restart
   [root@greymouster ~]# /etc/init.d/iptables stop //临时关闭防火墙
服务器基础优化

服务器基础优化

 

7、为增强安全增加一个普通权限的用户【并sudo授权】

    为增强安全、先增加一个普通权限的用户:
    \#useradd uploader
    \#passwd uploader
    //设置密码
     切换到root用户,运行visudo命令
    在打开的配置文件中,找到root ALL=(ALL) ALL,在下面添加一行
    xxx ALL=(ALL) ALL 其中xxx是你要加入的用户名称
  [root@greymouster ~]# visudo
  98gg   //定位到98行
  
  root    ALL=(ALL)       ALL
  greymouster ALL=(ALL)   /usr/sbin/useradd
  或者这样修改:拥有全部的权限但不需要密码
  greymouster ALL=(ALL)   NOPASSWD:ALL
  
  %用户组  机器=(授权那个角色的权利) /usr/sbin/useradd
  
  [root@greymouster ~]# su - greymouster
  [greymouster@greymouster ~]$ useradd kkk
  -bash: /usr/sbin/useradd: Permission denied
  [greymouster@greymouster ~]$ sudo useradd kkk
  [sudo] password for greymouster: 
  [greymouster@greymouster ~]$ tail -1 /etc/passwd
  kkk:x:502:502::/home/kkk:/bin/bash
  [greymouster@greymouster ~]$ netstat -lntup|grep ssh
  (No info could be read for "-p": geteuid()=501 but you should be root.)
  [greymouster@greymouster ~]$ sudo netstat -lntup|grep ssh
  tcp 0 0 0.0.0.0:60222 0.0.0.0:* LISTEN 28683/sshd 
  tcp 0 0 :::60222 :::* LISTEN 28683/sshd 
  [greymouster@greymouster ~]$

 

8、远程管理用普通用户

  远程管理用普通用户uploader登录,然后用 su root 切换到root用户拿到最高权限
  linux系统中root用户无所不能,为了系统安全ssh禁止root用户远程登录,必要的话使用sudo机制也是不错的选择
  编辑 /etc/ssh/sshd_config
  修改 PermitRootLogin将yes改为no
  重启ssh服务
  service sshd restart
  /etc/init.d/sshd restart

 

9、设置block的大小,一般为4K

  mkfs -t ext3 -b 4096 /dev/sda1

 

10、锁定系统的关键文件

- i    它可以让一个文件“不能被删除、改名,设置连接也无法写入或添加据。” 对于系统安全性有相当大的 帮助。只有root能设置此属性。

  chattr +/-i /etc/passwd #所属主有权修改

 

11、设置开机的提示信息,以及系统信息

  /etc/motd /etc/issue

 

 

Windows使用密钥验证服务器

1.Xshell工具->新建密钥生成工具  --- >  猛击下一步 ​

2.连接服务器,在当前用户的家目录创建.ssh目录(权限700) ​

3.在.ssh目录新建authorized_keys,权限是600 ​

4.找到xshell里面工具  --- >  用户秘钥管理者  --- >  选中对应的秘钥  --->  属性  --- >  公钥  --- >  复制 ​

5.将复制好的公钥粘贴至 ~/.ssh/authorized_keys中 ,保存,然后测试

    [root@web1-7 ~]# mkdir .ssh -p;chmod 700 .ssh/;touch .ssh/authorized_keys;chmod 600  .ssh/authorized_keys
    [root@web1-7 ~]# chmod 700 .ssh/
    [root@web1-7 ~]# ll .ssh/ -d
    drwx------ 2 root root 6 9月  12 08:39 .ssh/
    [root@web1-7 ~]# touch .ssh/authorized_keys
    [root@web1-7 ~]# ll  .ssh/authorized_keys -d
    -rw-r--r-- 1 root root 0 9月  12 08:40 .ssh/authorized_keys
    [root@web1-7 ~]# chmod 600  .ssh/authorized_keys 
    [root@web1-7 ~]# 

 

有需要的话可以改改系统的中文显示

服务器基础优化

服务器基础优化

修改命令提示符颜色

Shell命令提示符及颜色是由PS1来配置:

默认的命令提示符的环境变量
[root@sirliu ~]# echo $PS1
[\u@\h \W]\$
[root@sirliu ~]#

上面的  \u@h:w$  刚好对应着我们终端中的  用户名  user@host:path$   即依次为用户名,主机名和所在路径。

Linux登录过程中加载配置文件顺序:

/etc/profile → /etc/profile.d/*.sh → ~/.bash_profile → ~/.bashrc → [/etc/bashrc] 可查看默认的~/.bashrc文件如下:
1 [root@localhost ~]$ cat ~/.bashrc 
2 # .bashrc
3 
4 # User specific aliases and functions
5 
6 # Source global definitions
7 if [ -f /etc/bashrc ]; then
8     . /etc/bashrc
9 fi

其中PS1常用的参数含义如下:

\d :#代表日期,格式为weekday month date,例如:"Mon Aug 1"
\H :#完整的主机名称
\h :#仅取主机的第一个名字
\t :#显示时间为24小时格式,如:HH:MM:SS
\T :#显示时间为12小时格式
\A :#显示时间为24小时格式:HH:MM
\u :#当前用户的账号名称
\v :#BASH的版本信息
\w :#完整的工作目录名称
\W :#利用basename取得工作目录名称,所以只会列出最后一个目录
\# :#下达的第几个命令
\$ :#提示字符,如果是root时,提示符为:# ,普通用户则为:$

PS1中设置字符颜色的格式为:\[\e[F;Bm\],其中“F“为字体颜色,编号为30-37,“B”为背景颜色,编号为40-47。用 \e[m 结束颜色设置,颜色表如下:

F     B
30    40    黑色
31    41    红色
32    42    绿色
33    43    黄色
34    44    蓝色
35    45    紫红色
36    46    青蓝色
37    47    白色

根据颜色表,套用入字符颜色设置格式中,就可以对linux终端命令行颜色进行个性化设置了。比如要设置命令行的格式为青蓝字黑底,显示当前用户的账号名称、 主机的第一个名字、完整的当前工作目录名称、24小时格式时间,就可以使用如下的命令:

[root@sirliu ~ ]$ vim ~/.bashrc 


# .bashrc

# User specific aliases and functions

alias rm='rm -i'
alias cp='cp -i'
alias mv='mv -i'


# PS1="\[\e[36;40m\]\u@\h \w \t]\$"  将所有命令行字符都改为指定的颜色
# PS1="\[\e[36;40m\][\u@\h \w ]\$\e[m "  只更改命令提示符的颜色


# Source global definitions
if [ -f /etc/bashrc ]; then
        . /etc/bashrc
fi

更改后  source   ~/.bashrc

赞(1)
未经允许不得转载:劉大帥 » 服务器基础优化

你的评论可能会一针见血! 抢沙发

登录

找回密码

注册