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网络编程学习后,接下来会以一个综合的小项目来将所学的知识点综合运用,首先是对项目 ...
随机推荐
- 自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作win2008r2-19
自动化kolla-ansible部署ubuntu20.04+openstack-victoria之镜像制作win2008r2-19 欢迎加QQ群:1026880196 进行交流学习 制作OpenSta ...
- 《TCP/IP网络编程》学习笔记整理
简介 本笔记目前已包含 <TCP/IP网络编程>中的前 5 章,后续章节会在近期内补充完整. 我在整理笔记时所考虑的是:在笔记记完后,当我需要查找某个知识点时,不需要到书中去找,只需查看笔 ...
- etcd简介及集群安装部署使用
目录 1. 简介 2. Linux下载安装 3. 单机模式启动 4. 指定各集群成员的方式配置集群 5. 使用discovery service的方式配置集群 6. 集群模式下客户端命令行 7. et ...
- C++ Primer Plus(第6版)中文版电子版awz+epub+mobi三版
电子书资源:C++ Primer Plus(第6版)中文版 书籍简介: C++是在C语言基础上开发的一种集面向对象编程.通用编程和传统的过程化编程于一体的编程语言,是C语言的超集.<C++ ...
- JAVAEE_Servlet_04_在service()方法中连接数据库获取表信息
在service()方法中连接数据库获取表信息 代码: package com.shige.controller; import javax.servlet.*; import java.io.IOE ...
- 1438. Longest Continuous Subarray With Absolute Diff Less Than or Equal to Limit
Given an array of integers nums and an integer limit, return the size of the longest continuous suba ...
- 反编译APP
反编译APP 有两种反编译工具:dex2jar 和 apktool,两个工具反编译的效果是不一样的,dex2jar反编译出java源代码,apktool反编译出来的是java汇编代码. dex2jar ...
- 基于MXNET框架的线性回归从零实现(房价预测为例)
1.基于MXNET框架的线性回归从零实现例子 下面博客是基于MXNET框架下的线性回归从零实现,以一个简单的房屋价格预测作为例子来解释线性回归的基本要素.这个应用的目标是预测一栋房子的售出价格(元). ...
- 通过例子分析MVVM
通过一个简单的计数器例子分析MVVM. 代码 demo2.html <!DOCTYPE html> <html lang="en"> <head> ...
- 【vue-06】webpack npm
什么是Webpack Webpack是一款模块加载器兼打包工具,他能把各种资源,比如js,css,less转化成一个静态文件,减少页面的请求,提高效率. 安装Webpack 在安装webpack之前, ...