声明:
本博主正在备考RHCE8,所以接下来的学习环境都在centos8下面。考试利用的是Redhat8系统,实际上和Centos8并没有多少区别。只是Redhat收费而已。所以博主打算先系统的学习Linux,复习巩固以往学习的知识,顺便整理下笔记(一是给自己以后回忆使用,二是可以给大家提供借鉴)。学习视频是千锋教育给的,千峰的杨哥讲解的Linux视频还是蛮不错的哦,推荐一下!
对了,以下学习可能只对RHCSA考试有用,RHCE8改版了,好像都是ansible自动化运维,实操性特别强,所以我尽快学习完RHCSA基础内容,然后学习ansible!
目录
1、安装Centos8
1.1 安装VMware15.5
1.2 安装centos8
2、初始化生产环境
2.1 设置主机名和ip
2.2 删除部分不需要的⽤户和组
2.3 防止DOS攻击
2.4 修改root帐户密码越复杂越好
2.5 禁止IP伪装
2.6 禁⽌ping ⽤户使⽤ping不做任何反映
2.7 远程5分钟⽆操作⾃动注销:
2.8 关闭selinux和防火墙
2.9 修改ssh
2.10 配置centos8的yum源和epel源
2.11 配置ntp自动更新时间
2.12 关闭虽有不需要的服务
3、GNU bash
3.1 shell 语法
3.2 bash的基本特性
3.3 Linux获取帮助
1、安装Centos8
1.1 安装VMware15.5
最好安装最新版本的VMware哦!
(1)提供VMware15的网盘链接,有需要的小伙伴自取。
链接:https://pan.baidu.com/s/1opyO1P59y2pIu4SjUIqkPw
提取码:rauv
1.2 安装centos8
centos8镜像可以网易或阿里开源镜像网上下载,我这边已经下载好了,新建虚拟机我就不演示拉,直接安装centos8.
(1)直接安装,不检测了。
(2)建议英文,英文实在不好用中文也可以
(3)诸多配置
(4)唯一要特别说明的是分区,其实实验环境下默认就OK了,而在生产环境中要根据需求进行配置,/分区,/boot和swap这些系统分区应该是必要的,其他数据分区 可根据需要分区,可借鉴我的。
(5)设置root密码和管理员用户和密码,密码一定要复杂,防止黑客暴力破解(穷举)
(6)配置好之后重启,重启之后会让让你接受许可,打上勾就好了。
(7)顺利安装并登录centos8
2、初始化生产环境
这个初始化生产环境的意义在于提高系统安全性,提高系统性能以及给老板节约资金。这个可以作为一个了解,后面的配置yum源可以看一下。
2.1 设置主机名和ip
hostnamectl set-hostname centos8
ip地址根据网络工程师规划的进行配置,这边我就不做修改了
2.2 删除部分不需要的⽤户和组
由于刚安装好操作系统,没必要进行这个操作。
2.3防止DOS攻击
vim /etc/security/limits.conf
#加入以下配置
hard core 0
hard rss 10000
hard nproc 20
2.4 修改root帐户密码越复杂越好
这个也是防止别人暴力破解我们的密码
2.5 禁止IP伪装
vim /etc/host.conf
#在⾥⾯加上:
nospoof on
2.6 禁⽌ping ⽤户使⽤ping不做任何反映
echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all #禁止ping
echo 0 > /proc/sys/net/ipv4/icmp_echo_ignore_all #解除禁止
2.7 远程5分钟⽆操作⾃动注销:
vim /etc/profile
#最后添加:
export TMOUT=300 #5分钟⾃动注销
#找到HISTSIZE=1000
#修改为:
HISTSIZE=100 #减少⽇记字节为100KB,太⼤内容过多容易漏重要信息.
2.8 关闭selinux和防火墙
#重启生效
sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
#临时关闭
setenforce 0
systemctl stop firewalld
systemctl disable firewalld
2.9 修改ssh
vim /etc/ssh/sshd_config
Port 22 修改 18888
PermitEmptyPasswords no #禁⽌空密码帐户登⼊服务器
MaxAuthTries 2 #两次错误就切断重新SSH启动登⼊
systemctl restart sshd
重启之后重新通过xshell登录,必须通过18888端口:
2.10 配置centos8的yum源和epel源
cd /etc/yum.repos.d/
mkdir bak
mv CentOS* bak
#下载新的 CentOS-Base.repo 到 /etc/yum.repos.d/
wget -O /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-8.repo
#下载centos8的epel源
#1)安装 epel 配置包
yum install -y https://mirrors.aliyun.com/epel/epel-release-latest-8.noarch.rpm
#2)将 repo 配置中的地址替换为阿里云镜像站地址
sed -i 's|^#baseurl=https://download.fedoraproject.org/pub|baseurl=https://mirrors.aliyun.com|' /etc/yum.repos.d/epel*
sed -i 's|^metalink|#metalink|' /etc/yum.repos.d/epel*
#清除缓存并建立新的缓存
yum clean all
yum makecache
#查看有多少的包,总共12866个
yum list | wc -l
2.11 配置ntp自动更新时间
正常企业生产环境中有ntp服务器,只要与企业中的ntp服务器保持同步就OK了。
2.12 关闭虽有不需要的服务
刚装系统就不用这步操作了。
3、GNU bash
Shell是系统的用户界面,提供了用户与内核进行交互操作的一种接口。它接收用户输入的命令并把它送入内核去执行。
实际上Shell是一个命令解释器,它解释由用户输入的命令并且把它们送到内核。不仅如此,Shell有自己的编程语言用于对命令的编辑,它允许用户编写由shell命令组成的程序。Shell编程语言具有普通编程语言的很多特点,比如它也有循环结构和分支控制结构等,用这种编程语言编写的Shell程序与其他应用程序具有同样的效果。
我们可以使用SHELL实现对Linux系统的大部分管理例如:
1. 文件管理
2. 用户管理
3. 权限管理
4. 磁盘管理
5. 软件管理
6. 网络管理
......
使用Shell的两种方式:
-
输入命令 效率低 适合少量的工作
-
Shell Script 效率高 适合完成复杂,重复性工作
3.1 shell 语法
命令 选项 参数
# ls
# ls -a
# ls -a /home
命令:整条shell命令的主体
选项:会影响会微调命令的行为 //通常以 -, --
参数:命令作用的对象
3.2 bash的基本特性
1. 自动补全<tab>
# ls /etc/sysconfig/network-scripts/
# ls /etc/sysconfig/network-scripts/ifcfg-eth0
# cat /etc/sysconfig/network-scripts/ifcfg-eth0
# systemctl restart crond.service
# date -s 12:30
2. 快捷键(^代表ctrl)
^C 终止前台运行的程序 //ping 10.18.40.100
^D 退出 等价exit
^L 清屏
^A 光标移到命令行的最前端 //编辑命令
^E 光标移到命令行的后端 //编辑命令
^U 删除光标前所有字符 //编辑命令
^K 删除光标后所有字符 //编辑命令
^R 搜索历史命令,利用关键词
Alt+. 引用上一个命令的最后一个参数,等价于!$
ESC . 引用上一个命令的最后一个参数,等价于!$
# ls /etc/sysconfig/network-scripts/ifcfg-eth0
# cat ESC .
3. 历史命令
# history
a. 光标上下键
b. ^R //搜索历史命令(输入一段某条命令的关键字:必须是连续的)
c. !220 //执行历史命令中第220条命令
!字符串 //搜索历史命令中最近一个以xxxx字符开头的命令,例如!ser
!$ //引用上一个命令的最后一个参数
4. 命令别名
(1)暂时设置别名,只对本shell有用
[root@tianyun ~]# alias tianyun='cat /etc/sysconfig/network-scripts/ifcfg-eth0' //建立别名(临时的,仅在当前Shell生效)
[root@tianyun ~]# unalias tianyun //取消tianyun这个别名
[root@tianyun ~]# alias //查看系统当前的别名
ll='ls -l --color=tty'
[root@tianyun ~]# ll
(2)永久别名:
/etc/bashrc shell配置文件之一
[root@tianyun ~]# gedit /etc/bashrc //添加如下行
alias tianyun='cat /etc/sysconfig/network-scripts/ifcfg-eth0'
3.3 Linux获取帮助
(1) 命令 --help
(2)man 手册名 (针对命令帮助,针对配置文件帮助,针对函数帮助)
(3)查看官方手册
- http://docs.redhat.com Enterprise Linux (5/6/7) Linux系统相关帮助指南
- http://www.mysql.com docs MySQL使用指南
- http://www.zabbix.com Documentation Zabbix使用指南
*(4)baidu,Google