初步安装Linux系统

参考资料

[1]. 跟老男孩学Linux运维:Web集群实战,老男孩

安装前的准备

下载的系统选择 CentOS-6.8-x86_64-bin-DVD1.iso 这个安装包会自带一些软件包

安装类型选择 Minimal 即最小化安装,并选择添加额外的软件包组选择项 Customize now

左侧 Base System 项,需要选择 Base、Compatibility libraries、Debugging Tools、 Dial-up Networking Support 四个软件包

左侧 Develoment 项,需要选择 Develoment tools

所有安装包,必需安装,如未安装,在后面安装其他软件的时候可能会出错。

开始安装

更新系统,打补丁到最新

[root@www ~]# cp /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.ori
[root@www ~]# wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.163.com/.help/CentOS6-Base-163.repo 
[root@www ~]# rpm --import /etc/pki/rpm-gpg/RPM-GPG-KEY*
[root@www ~]# yum update -y
[root@www ~]# yum install tree telnet dos2unix sysstat lrzsz nc nmap gcc-c++ -y

添加帐号

[root@www ~]# useradd oldboy
[root@www ~]# passwd oldboy

关闭SELinux功能 并验证

[root@www ~]# sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
[root@www ~]# grep SELINUX=disabled /etc/selinux/config

临时关闭SELinux (由于SELinux功能生效需要重启,所以需要再临时关闭一下)

[root@www ~]# setenforce 0
[root@www ~]# getenforce

设定系统运行级别为3

[root@www ~]# init 3
[root@www ~]# grep 3:initdefault /etc/inittab
[root@www ~]# runlevel

关闭多余的服务,只开启基本服务

[root@www ~]# LANG=en
[root@www ~]# for oldboy in `chkconfig --list|grep 3:on|awk '{print $1}'`;do chkconfig --level 3 $oldboy off;done
[root@www ~]# for oldboy in crond network rsyslog sshd sysstat ;do chkconfig --level 3 $oldboy on;done
[root@www ~]# chkconfig --list|grep 3:on

暂时关闭防火墙(关闭两次,以确认服务生效),并关闭开机启动

[root@www ~]# /etc/init.d/iptables stop
[root@www ~]# /etc/init.d/iptables stop
[root@www ~]# chkconfig --list|grep iptables

备份并更改SSH服务器端远程登录的配置

[root@www ~]# cp /etc/ssh/sshd_config /etc/ssh/sshd_config.ori
[root@www ~]# vi /etc/ssh/sshd_config

加入下面的内容

#### by shuaige #2016-12-31####
Port 52113
PermitRootLogin no
PermitEmptyPasswords no
UseDNS no
GSSAPIAuthentication no
ListenAddress 192.168.1.xx:52113 # 指定仅监听内网ip
#### by shuaige #2016-12-31####

重新读取或重启

[root@www ~]# /etc/init.d/sshd reload
[root@www ~]# /etc/init.d/sshd restart

使用52113端口,和oldboy 帐号 重新登录,切换到root帐号

[oldboy@www ~]# whoami
[oldboy@www ~]# su - root
[root@www ~]# whoami

利用sudo控制用户对系统命令的使用权限

[root@www ~]# visudo
# 在大概第98行左右可以加入下面的内容
[root@www ~]# visudo
# 给予有限权限
[root@www ~]# oldboy  ALL=(ALL)       /usr/sbin/useradd,/usr/sbin/userdel
# 或全部权限,并且在提升权限的时候不需要密码
[root@www ~]# oldboy  ALL=(ALL)       NOPASSWD: ALL
[root@www ~]# grep oldboy /etc/sudoers
# 重新登录后,就可以使用root权限的命令了
[oldboy@www ~]# sudo ls /root
# 查看老男孩的权限
[oldboy@www ~]# sudo -l

中文显示设置

[root@www ~]# cat /etc/sysconfig/i18n
[root@www ~]# cp /etc/sysconfig/i18n /etc/sysconfig/i18n.ori
[root@www ~]# echo ' LANG="zh_CN.UTF-8"' > /etc/sysconfig/i18n # 添加内容
[root@www ~]# source /etc/sysconfig/i18n # 使上文修改生效
[root@www ~]# echo $LANG

设置Linux 服务器时间同步

[root@www ~]# which ntpdate # 如果服务不存在,就执行安装
[root@www ~]# yum install -y ntpdate # 安装时间同步服务
[root@www ~]# echo '#time sync by oldboy at 2016-12-31' >> /var/spool/cron/root
[root@www ~]# echo '*/5 * * * * /usr/sbin/ntpdate ntp1.aliyun.com > /dev/null 2>&1' >> /var/spool/cron/root
[root@www ~]# crontab -l

设置历史记录数及登录超时环境变量设置

[root@www ~]# echo 'export TMOUT=300' >> /etc/profile
[root@www ~]# echo 'export HISTSIZE=5' >> /etc/profile
[root@www ~]# echo 'export HISTFILESIZE=5' >> /etc/profile
[root@www ~]# tail -3 /etc/profile

调整Linux系统文件描述符数量(重新登录后才生效)

[root@www ~]# echo '*   -   nofile   65535 ' >> /etc/security/limits.conf 
[root@www ~]# tail -1 /etc/security/limits.conf 

Linux服务器内核参数优化

[root@www ~]# vi /etc/sysctl.conf
# 加入下面的内容
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.ipv4.ip_conntrack_max = 25000000
net.ipv4.netfilter.ip_conntrack_max=25000000
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180
net.ipv4.netfilter.ip_conntrack_tcp_timeout_time_wait=120
net.ipv4.netfilter.ip_conntrack_tcp_timeout_close_wait=60
net.ipv4.netfilter.ip_conntrack_tcp_timeout_fin_wait=120
[root@www ~]# sysctl -p    # 使配置生效

定期清理邮件服务临时目录垃圾文件

[root@www maildrop]# mkdir -p /server/scripts
[root@www maildrop]# echo "find /var/spool/postfix/maildrop/ -type f|xargs rm -f" > /server/scripts/del_file.sh
[root@www maildrop]# cat /server/scripts/del_file.sh
[root@www maildrop]# echo "00 00 * * * /bin/sh /server/scripts/del_file.sh > /dev/null 2>&1" >> /var/spool/cron/root 
[root@www maildrop]# crontab -l
[root@www maildrop]# df -i

查看并隐藏linux版本信息

[root@www maildrop]# cat /etc/issue
[root@www maildrop]# cat /etc/issue.net
[root@www maildrop]# > /etc/issue
[root@www maildrop]# > /etc/issue.net

锁定关键系统文件,防止被提权篡改,每次修改的时候先解除,修改完成后再锁定

[root@www maildrop]# chattr +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab # 锁定
[root@www maildrop]# chattr -i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab # 解除

如果想要更安全,可以把chattr改名转移

[root@www maildrop]# mv /usr/bin/chattr /usr/bin/oldboy
[root@www maildrop]# oldboy +i /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/inittab 
[root@www maildrop]# lsattr /etc/passwd # 查看上锁后的文件权限

为grup菜单加密码

[root@www maildrop]# /sbin/grub-md5-crypt # 生成密码串
[root@www maildrop]# vi /etc/grub.conf
#添加到 hiddenmenu 和 title 内容中间 
hiddenmenu
password --md5 $1$ZL2w6/$AIOTFjSgqr0zEij8wRB/o1
title CentOS (2.6.32-642.11.1.el6.x86_64)

通过设置防火墙的方式设置,只限于某段ip可以ping

[root@www maildrop]# iptables -t filter I INPUT -p icmp --icmp-type 8 -i eth0 -s 192.0.0.0/24 -j ACCEPT

升级具有典型漏洞的软件版本

[root@www ~]# yum install openssl openssh bash -y #安装
[root@www ~]# rpm -qa openssl openssh bash # 查看
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值