Linux进阶之综合练习
综合练习:
1.准备2台centos7系统的服务器,远程互相免密登录,以下所有题目过程中开启防火墙
2.给1号机和2号机使用光盘搭建本地yum源(永久生效)
3.给服务器1添加2块硬盘,1块1GB,1块2GB,使用这2块硬盘创建vg,包含pe100mb/块
4.使用上题vg创建2个1.2GB的lv,以xfs格式分别挂载到1号机/目录下的lvm1 lvm2上(永久生效)
5.将lvm2以nfs共享给2号机,挂载到2号机 /nfs 上(永久生效)
6.设置定时任务,每5分钟将/目录下所有文件名称写入到以"日期时间"命名的文件(时间精确到分钟),并保存到/lvm1中
7.在2号记上以/nfs为目录搭建ftp,用户名是 userftp2 密码 123 的非交互用户(1号机可以使用该用户登录)
配置新机过程:
1、检查环境(防火墙)
(1) 内核(selinux)防火墙:
[root@renyz08 ~]# getenforce
Disabled #已关闭
[root@renyz08 ~]# vim /etc/sysconfig/selinux
SELINUX=disabled #若没有关闭,修改该内容,重启(reboot)生效
(2) 网络(firewalld)防火墙:
[root@renyz08 ~]# systemctl status firewalld #已开启
若没有开启,执行以下操作
[root@renyz08 ~]# systemctl start firewalld
[root@renyz08 ~]# systemctl enable firewalld
2、配置网卡
(1)修改配置文件
[root@renyz08 ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
BOOTPROTO=static
NAME=ens33
DEVICE=ens33
ONBOOT=yes
IPADDR=192.168.11.3
NETMASK=255.255.255.0
GATEWAY=192.168.11.2
DNS1=8.8.8.8
DNS2=114.114.114.114
(2)查看ip信息
[root@renyz08 ~]# ip a
(3) 重启网卡
[root@renyz08 ~]# systemctl restart network
一、远程免密登录
1、生成密钥(1号机)
[root@renyz08 ~]# ssh-keygen -t rsa #直接回车即可
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa):
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase):
Enter same passphrase again:
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:hBTW1CUcK6xcVRaKMJS+ketv+WgigZj8dwi+dvyU0bM root@renyz08
2、修改配置文件(1号机)
[root@renyz08 ~]# vim /etc/ssh/sshd_config
PasswordAuthentication no #取消密码登录
3、挂锁(修改公钥文件名和配置文件中的一致)(1号机)
[root@renyz08 ~]# cd .ssh
[root@renyz08 .ssh]# ls
id_rsa id_rsa.pub
[root@renyz08 .ssh]# cp id_rsa.pub authorized_keys
4、下载密钥(登录使用,非常重要)(1号机)
[root@renyz08 .ssh]# sz id_rsa
5、重启服务,免密登陆
[root@renyz08 ~]# systemctl restart sshd
6、复制公钥密钥至2号机
[root@renyz08 ~]# scp -r .ssh 192.168.11.4:/root/
7、远程连接2号机,修改配置文件(取消密码登录)
[root@renyz08 ~]# ssh 192.168.11.4
Last login: Sat Jul 27 09:06:51 2019 from 192.168.11.1
[root@renyz09 ~]# ls -a
. anaconda-ks.cfg .bash_logout .bashrc .ssh .viminfo
.. .bash_history .bash_profile .cshrc .tcshrc
[root@renyz09 .ssh]# ls
authorized_keys id_rsa id_rsa.pub known_hosts
[root@renyz09 .ssh]# vim /etc/ssh/sshd_config
PasswordAuthentication no
8、重启服务,免密登录
[root@renyz09 .ssh]# systemctl restart sshd
9、修改主机名
[root@ren3 ~]# echo "ren3" > /etc/hostname #修改主机名
[root@renyz08 ~]# vim /etc/hosts #远程连接时使用
192.168.11.3 ren3
192.168.11.4 ren4
二、搭建本地yum源
1、挂载光盘
mkdir /local_dvd
mount /dev/cdrom /local_dvd/
2、删除初始源
rm -rf /etc/yum.repos.d/*
3、创建本地源
touch /etc/yum,repos.d/local.repo
vim /etc/yum.repos.d/local.repo
[local]
name=local
baseurl=file:///local_dvd
enabled=1
gpgcheck=0
yum clean all #清楚缓存
yum makecache #创建缓存
4、开机自动挂载
echo "/dev/sr0 /local_dvd iso9660 defaults 0 0" >> /etc/fstab
三、动态添加2块硬盘
1、在虚拟机上添加两块硬盘
2、动态添加硬盘
[root@ren3 scsi_host]# fdisk -l #查看磁盘信息
[root@ren3 ~]# cd /sys/class/scsi_host/
[root@ren3 scsi_host]# ls #查看主机文件
host0 host1 host2
[root@ren3 scsi_host]# echo "- - -" > host0/scan #重新扫描磁盘信息
[root@ren3 scsi_host]# echo "- - -" > host1/scan
[root@ren3 scsi_host]# echo "- - -" > host2/scan
[root@ren3 scsi_host]# fdisk -l #再次查看磁盘信息
四、制作lvm逻辑卷
[root@ren3 ~]# pvcreate /dev/sd{b,c}1 #创建物理卷
Physical volume "/dev/sdb1" successfully created.
Physical volume "/dev/sdc1" successfully created.
[root@ren3 ~]# vgcreate vg_ren -s 100M /dev/sd{b,c}1 #创建卷组,-s指定PE大小
Volume group "vg_ren" successfully created
[root@ren3 ~]# lvcreate -L 1.2G -n lv_ren1 vg_ren #创建逻辑卷1
Rounding up size to full physical extent <1.27 GiB
Logical volume "lv_ren1" created.
[root@ren3 ~]# lvcreate -L 1.2G -n lv_ren2 vg_ren #创建逻辑卷2
Rounding up size to full physical extent <1.27 GiB
Logical volume "lv_ren2" created.
[root@ren3 ~]# lvdisplay #查看逻辑卷信息
[root@ren3 ~]# mkdir /lvm1 /lvm2 #创建挂载点
[root@ren3 ~]# mkfs.xfs /dev/vg_ren/lv_ren1 #格式化逻辑卷1
[root@ren3 ~]# mkfs.xfs /dev/vg_ren/lv_ren2 #格式化逻辑卷2
[root@ren3 ~]# mount /dev/vg_ren/lv_ren1 /lvm1 #挂载逻辑卷1
[root@ren3 ~]# mount /dev/vg_ren/lv_ren2 /lvm2 #挂载逻辑卷2
[root@ren3 ~]# mount #查看挂载信息
[root@ren3 ~]# vim /etc/fstab #添加自动挂载
/dev/mapper/vg_ren-lv_ren1 /lvm1 xfs defaults 0 0
/dev/mapper/vg_ren-lv_ren2 /lvm2 xfs defaults 0 0
五、搭建nfs
[root@ren3 ~]# yum -y install nfs-* #下载nfs
[root@ren3 ~]# systemctl status rpcbind #查看rpcbind状态
[root@ren3 ~]# systemctl restart rpcbind #开启rpcbind
[root@ren3 ~]# systemctl enable rpcbind #开机自启rpcbind
[root@ren3 ~]# vim /etc/exports #配置nfs配置文件
/lvm2 192.168.11.4/32(rw)
[root@ren3 ~]# systemctl restart nfs #重启nfs
[root@ren3 ~]# systemctl enable nfs #开机自启
[root@ren3 ~]# firewall-cmd --add-service=nfs #开启nfs防火墙
success
[root@ren3 ~]# firewall-cmd --add-service=nfs –permanent #永久开启
success
[root@ren4 ~]# yum -y install nfs-* #2号机下载nfs
[root@ren4 ~]# systemctl restart nfs
[root@ren4 ~]# systemctl enable nfs
[root@ren4 ~]# systemctl restart rpcbind
[root@ren4 ~]# systemctl enable rpcbind
[root@ren4 ~]# mkdir /nfs #创建挂载点
[root@ren4 ~]# mount -t nfs ren3:/lvm2 /nfs #挂载
[root@ren4 ~]# mount #查看挂载信息
[root@ren4 ~]# vim /etc/fstab #开机自动挂载
ren3:/lvm2 /nfs nfs4 defaults 0 0
六、设置定时任务
[root@ren3 ~]# ls / > `date "+%m-%d_%H-%M"` #测试命令正确性
[root@ren3 ~]# ls
07-27_12-31 anaconda-ks.cfg test
[root@ren3 ~]# crontab -e #设置定时任务
*/5 * * * * ls / > /lvm1/`date "+\%m-\%d_\%H-\%M"`
七、搭建ftp
[root@ren4 ~]# yum -y install vsftpd #2号机下载vsftpd服务
[root@ren4 ~]# vim /etc/vsftpd/vsftpd.conf #配置文件
anonymous_enable=NO
[root@ren4 ~]# systemctl restart vsftpd #重启服务
[root@ren4 ~]# useradd -d /nfs -s /sbin/nologin userftp2 #创建用户
useradd:警告:此主目录已经存在。
不从 skel 目录里向其中复制任何文件。
[root@ren4 ~]# passwd userftp2 #给用户增加密码
[root@ren4 ~]# firewall-cmd --add-service=ftp #开启ftp防火墙
success
[root@ren4 ~]# firewall-cmd --add-service=ftp –permanent #永久开启防火墙
Success
[root@ren4 ~]# systemctl enable vsftpd #开机自启服务
[root@ren3 ~]# yum -y install ftp #1号机下载ftp
[root@ren3 ~]# ftp ren4 #连接2号机
Connected to ren4 (192.168.11.4).
220 (vsFTPd 3.0.2)
Name (ren4:root): userftp2
331 Please specify the password.
Password:
530 Login incorrect.
Login failed. #登录失败
[root@ren4 ~]# vim /etc/pam.d/vsftpd #更改配置文件
# auth required pam_shells.so #注释该行
Name (ren4:root): userftp2
331 Please specify the password.
Password:
230 Login successful. #登录成功
Linux进阶之综合练习的更多相关文章
- 大数据学习之Linux进阶02
大数据学习之Linux进阶 1-> 配置IP 1)修改配置文件 vi /sysconfig/network-scripts/ifcfg-eno16777736 2)注释掉dhcp #BOOTPR ...
- Linux进阶指令(重点)
三.Linux进阶指令(重点) 1.df指令 作用:查看磁盘的空间 #df -h 选项:-h 表示以可读性较高的形式展示大小 2.free指令 作用:查看内存使用情况 #free ...
- linux内核分析综合总结
linux内核分析综合总结 zl + <Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 Linux内核分析 ...
- linux进阶与hadoop
Linux进阶命令: find . | ls --help | more grep ll | grep 1.txt grep -ri BASH 1.txt grep -ri BASH ...
- 【Linux进阶】使用grep、find、sed以及awk进行文本操作
目录 一.元字符 二.grep命令 1. 过滤出包含某字符串的行 2. 过滤出以某字符串开头(结尾)的行 3. 过滤出包含某字符串及其相邻的行 4. 过滤出不包含某关键字的行 5. 过滤出包含多个字符 ...
- linux 进阶命令
进阶命令 1 df指令 查看磁盘的空间 # df -h -h表示可读性更高,方便读取 执行指令后(Filesystem:磁盘名称 size:磁盘总大小 Used: 被使用的大小 ...
- Linux基础(05)、Linux进阶命令
目录 一.进阶命令 二.系统命令 三.压缩和归档 3.1.归档 3.2.压缩 3.3.归档并压缩 归档.接档:tar -cf.tar -tvf 压缩.解压:gzip.gunzip 归档并压缩:tar ...
- Linux进阶文档丨阿里架构师十年Linux心得,全在这份文档里面
Linux是什么 Linux就是个操作系统: 它和Windows XP.Windows 7.Windows 10什么的一样就是一个操作系统而已! Linux能干什么: 它能当服务器,服务器上安装者各种 ...
- Linux网络编程综合运用之MiniFtp实现(一)
春节过后,万物复苏,在这元宵佳节的前一天,决定继续开启新年的学习计划,生命在于运动,提高源于学习,在经过漫长的Linux网络编程学习后,接下来会以一个综合的小项目来将所学的知识点综合运用,首先是对项目 ...
随机推荐
- 可读性友好的JavaScript:两个专家的故事
每个人都想成为专家,但什么才是专家呢?这些年来,我见过两种被称为"专家"的人.专家一是指对语言中的每一个工具都了如指掌的人,而且无论是否有帮助,都一定要用好每一点.专家二也知道每一 ...
- 个人阅读作业#2——软工模式&CI/CD
项目 内容 这个作业属于哪个课程 2021春季软件工程(罗杰 任健) 这个作业的要求在哪里 个人阅读作业#2 我在这个课程的目标是 从实践中学习软件工程相关知识(结构化分析和设计方法.敏捷开发方法.软 ...
- Qt开发技术:图形视图框架(一)基本介绍
前话 使用到Qt的视图框架. Qt视图框架介绍 简介 图形视图框架(The Graphic View Framework)用于管理和与大量定制的二维图形项目交互,以及用于可视化项目的视图小 ...
- Kubernetes 降本增效标准指南 | 基于K8s 扩展机制构建云上成本控制系统
作者 王玉君,腾讯云后台高级开发工程师,负责腾讯云原生系统开发及建设. 晏子怡,腾讯云容器产品经理,在K8s弹性伸缩.资源管理领域有丰富的实战经验. 导语 Kubernetes 作为 IaaS 和 P ...
- Jenkins 自动触发执行的配置
1. 两种触发方式 2. jenkins 和 github 同步配置 ngrok 安装 webhook 配置 1. 两种触发条件 Jenkins 中建立的任务是可以设置自动触发,更进一步的实现自动化. ...
- 网页解析:Xpath 与 BeautifulSoup
1. Xpath 1.1 Xpath 简介 1.2 Xpath 使用案例 2. BeautifulSoup 2.1 BeautifulSoup 简介 2.2 BeautifulSoup 使用案例 1) ...
- JVM JIT动态编译
一.概述 1.1 基本概念 a. 动态编译(dynamic compilation)指的是"在运行时进行编译":与之相对的是事前编译(ahead-of-time compilati ...
- (7)MySQL进阶篇SQL优化(InnoDB锁-事务隔离级别 )
1.概述 在我们在学习InnoDB锁知识点之前,我觉得有必要让大家了解它的背景知识,因为这样才能让我们更系统地学习好它.InnoDB与MyISAM的最大不同有两点:一是支持事务(TRANSACTION ...
- hdu 3265 线段树扫描线(拆分矩形)
题意: 给你n个矩形,每个矩形上都有一个矩形的空洞,所有的矩形都是平行于x,y轴的,最后问所有矩形的覆盖面积是多少. 思路: 是典型的矩形覆盖问题,只不过每个矩形上多了一个矩 ...
- C#-窗体鼠标穿透
#region 窗体鼠标穿透 private const uint WS_EX_LAYERED = 0x80000; private const int WS_EX_TRANSPARENT = 0x2 ...