20180531 Task 1.13-1.16

2024-02-19 16:50
文章标签 task 1.13 1.16 20180531

本文主要是介绍20180531 Task 1.13-1.16,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

20180531 Task 1.13-1.16

5月31日任务

1.13 单用户模式 1.14 救援模式 1.15 克隆虚拟机 1.16 Linux机器相互登录

1.13 单用户模式

在工作和学习中忘记 ROOT 密码, 重装系统不现实, 这里有两种方法: 单用户模式和救援模式

单用户模式是在系统启动的那一刻要进行选择, 它和 WINDOWS 的安全模式有点像, 首先要重启系统, 重启系统的命令: reboot, init 6, shutdown -r now , 关闭系统的命令是 init 0 , poweroff, shutdown -h now , halt ; PS: 单用户模式下不能登录远程客户端

单用户模式是不需要用户认证的

  1. 在 VMware 界面下, 选择如下的操作

mark

  1. 进入 GRUB 界面, GRUB 是启动工具, 包括 WINDOWS, 也是可以通过 GRUB 帮你启动的; 简单来说, GRUB 就是帮你找到系统的启动盘, 划分分区时哪个分区是有引导程序的呢, GRUB 就帮你去管理, 引导硬盘加载内核,

mark

  1. 进入 编辑的地方, 更改 rorw init=/sysroot/bin/sh , /sysroot/ 是原系统的 /root/ 目录

mark

更改为

mark

  1. CTRL + x , 保存退出

  2. 进入如下的界面, 相当于安全模式,

mark

  1. 可以看到现在的 /root/ 和 /sysroot/ 下的目录不一致, 说明还没有进入到之前的系统目录下, 而且 /sysroot/boot/ 下是空的, 因为之前装系统时 /boot/ 是单独的一个分区, 必须把/boot/ 分区挂载到这个目录下, 那才能看到这个目录下的文件,

mark

之前设置的秘钥文件, 可以看出还没有切换过去

mark

  1. 更改密码, 就要切换到之前的系统环境中去, 这样才能用系统里边的命令, 现在这个相当于内存操作系统, :/# chroot /sysroot/ :/# passwd root (这时候出现了乱码, 原因是当前环境为中文, 需要切换到英文环境下) :/# LANG=en

如下就表示可以正常更改密码了

mark

  1. 创建 /.autorelabel , 如果不做这一步就没办法登录系统, 这个和 selinux 相关的操作, 不用深究 :/# touch /.autorelabel

PS: SELINUX , 链接 : https://selinuxproject.org/page/Main_Page

SELinux is a security enhancement to Linux which allows users and administrators more control over access control.

Access can be constrained on such variables as which users and applications can access which resources. These resources may take the form of files. Standard Linux access controls, such as file modes (-rwxr-xr-x) are modifiable by the user and the applications which the user runs. Conversely, SELinux access controls are determined by a policy loaded on the system which may not be changed by careless users or misbehaving applications.

SELinux also adds finer granularity to access controls. Instead of only being able to specify who can read, write or execute a file, for example, SELinux lets you specify who can unlink, append only, move a file and so on. SELinux allows you to specify access to many resources other than files as well, such as network resources and interprocess communication (IPC).

For more information about SELinux see the FAQ and other resources listed here

  1. 在 VMware 界面下右键虚拟机: 电源 --> 重新启动客户机 , 启动后在输入新密码, 验证是否更改成功

  2. 如果机房在很远的区域, 可以选择驻场服务区解决

  3. 如果远程的终端登不上, 可以借用 telnet 去登录

1.14 救援模式
  1. 在 windows 里边, 不能叫单用户模式, 在 CentOS6 或者更早的版本里, 有 0-6 (一共 7 个运行级别) , Centos 6 是 init, Centos7 是 systemd
0 关机 
1 单用户模式 , 在 CentOS 6 以及更早的版本里, 就是这样叫的; 在启动系统的那一刻, 配置一下 GRUB, 简单做一些操作, 就进入了单用户模式, 单用户是不需要用户认证的, 然后就可以更改密码了, 
2. 是多用户模式, 只不过是命令行下的多用户模式
3. 是多用户模式, 在系统启动的那一刹那, 没有安装图形界面的情况下, 进入的就是 3 级别
4. 是多用户模式
5. 图形操作界面, 比级别三多一个图形 
6. 重启 reboot **CentOS 7 操作如下, 在上一节, 单用户模式更改密码用的就是如下的 rescue.target 模式** 

[root@arron-01 ~]# ll /usr/lib/systemd/system/runlevel*target lrwxrwxrwx. 1 root root 15 5月 27 23:58 /usr/lib/systemd/system/runlevel0.target -> poweroff.target lrwxrwxrwx. 1 root root 13 5月 27 23:58 /usr/lib/systemd/system/runlevel1.target -> rescue.target lrwxrwxrwx. 1 root root 17 5月 27 23:58 /usr/lib/systemd/system/runlevel2.target -> multi-user.target lrwxrwxrwx. 1 root root 17 5月 27 23:58 /usr/lib/systemd/system/runlevel3.target -> multi-user.target lrwxrwxrwx. 1 root root 17 5月 27 23:58 /usr/lib/systemd/system/runlevel4.target -> multi-user.target lrwxrwxrwx. 1 root root 16 5月 27 23:58 /usr/lib/systemd/system/runlevel5.target -> graphical.target lrwxrwxrwx. 1 root root 13 5月 27 23:58 /usr/lib/systemd/system/runlevel6.target -> reboot.target

如果在 CentOS 6 里边, 是 cat /etc/inittab

* 由此得出, Cen 6 是 init 启动机制, 但是 Cen 7 是 Systemd 启动机制2. 之前讲的单用户模式更改密码的前提是得清楚 GRUB 没有加密或者得有 GRUB 的密码, `因为装系统时 GRUB 没有设置密码, 但有时候 GRUB 是有密码的`, 这时候就有一种方法: 用光盘或者系统优盘重新进入到装系统的那个界面下, 就是把光驱加载一下, 就是加载光驱, ##在虚拟机下操作## 2.1 关机, init 0 , 编辑虚拟机,  ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/180544618.png?imageslim) 2.2 一定要在虚拟机设置里边选择 ##启动时连接##, ##ISO 镜像文件##, 2.3 在虚拟机上右键, 电源 --> 启动时进入 BIOS --> 方向键进入 Boot --> 将 CD-ROOM Drive 调到第一位去 --> 方向键和 +- 号调整 CD-ROM Drive 到第一位去 --> F10 保存和退出 ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/203207042.png?imageslim) ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/203207042.png?imageslim)![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/203909602.png?imageslim)2.4 进入更改密码的初始页面![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/204232680.png?imageslim)2.5 选择 Rescue a CentOS system , 如果忘记 GRUB 密码, 就只能进入这个页面下 (选择救援模式) , ENTER ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/204457329.png?imageslim)2.6 选择 Continue ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/205029768.png?imageslim) 2.7 ENTER 键![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/205522236.png?imageslim) 2.8 切换到之前的环境下 `chroot /mnt/sysimage` ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/205819518.png?imageslim)2.9 更改密码: passwd root ![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/210143259.png?imageslim) 2.10 重启系统![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/210434021.png?imageslim)![mark](http://oqxf7c508.bkt.clouddn.com/blog/20180605/210537406.png?imageslim) 2.11 在虚拟机上右键 电源 --> 重新启动客户机 2.12 如果改错了配置文件, 可以在单用户模式或者救援模式下将配置文件改回来, 再重启就可以了 ##### 1.15 克隆虚拟机
> 为了省时间, 可以直接克隆一台机器1. 将原机器关闭, 直接右键虚拟机关闭不好, 实际上是需要用命令行去关闭的, 右键虚拟机名称 --> 管理 --> 克隆 --> 一直选择默认项到更改虚拟机名称和存储路径 2. 启动后修改 IP 地址和主机名, 且删除 UUID 那一项, **systemctl restart network.service** , 然后 ip addr 去检测更改的 IP 是否生效; 这里涉及到一个更改主机名的命令: hostnamectl set-hostname arron-03 , 用它可以直接更改主机名配置文件(如下): 主机名文件: /etc/hostname 
3. 做好实验后要做快照, 方便自己返回##### 1.16 Linux机器相互登录 1. 两台 Linux 机器互连, 第一台机器连接第二台机器, 

机器 1 上操作

[root@arron-01 ~]# ssh 192.168.137.132 The authenticity of host '192.168.137.132 (192.168.137.132)' can't be established. ECDSA key fingerprint is SHA256:T2T7DRRibSzfd+fXU9kKWeI1JTGpiJ1GlVRTQrqt0lA. ECDSA key fingerprint is MD5:44:b8:ea:9d:a2:1e:88:ea:53:fd:26:5a:4a:e9:32:db. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.137.132' (ECDSA) to the list of known hosts. root@192.168.137.132's password: Permission denied, please try again. root@192.168.137.132's password: Last failed login: Tue Jun 5 23:35:01 CST 2018 from 192.168.137.130 on ssh:notty There was 1 failed login attempt since the last successful login. Last login: Tue Jun 5 23:32:29 2018 from 192.168.137.1

##远程端机器上操作, 如下可以看出连接的是两台机器在连接, w 命令是查看系统负载的, 从哪里连接的(TTY), TTY: TTY 设备包括虚拟控制台, 串口以及伪终端设备 [root@arron-02 ~]# w 23:36:41 up 6 min, 2 users, load average: 0.03, 0.23, 0.17 USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT root pts/0 192.168.137.1 23:32 1.00s 0.13s 0.08s w root pts/1 192.168.137.130 23:35 1:33 0.04s 0.04s -bash

ssh 远程连接的完整命令是 ssh username@ip 如果没有写用户名, 那默认就是当前系统登录的用户(命令 whoami 查看当前系统登录的用户), ssh 默认连的是 22 端口, 有的机器不连 22 端口, 那更完整的命令是 ssh -p port username@ip , CTRL+d 和 exit 可以退出登录的远程机器

[root@arron-02 ~]# ssh root@192.168.137.130 The authenticity of host '192.168.137.130 (192.168.137.130)' can't be established. ECDSA key fingerprint is SHA256:T2T7DRRibSzfd+fXU9kKWeI1JTGpiJ1GlVRTQrqt0lA. ECDSA key fingerprint is MD5:44:b8:ea:9d:a2:1e:88:ea:53:fd:26:5a:4a:e9:32:db. Are you sure you want to continue connecting (yes/no)? yes Warning: Permanently added '192.168.137.130' (ECDSA) to the list of known hosts. root@192.168.137.130's password: Last login: Tue Jun 5 23:29:14 2018 from 192.168.137.1

2. xshell 使用了秘钥认证, 那两台 linux 机器上也可以连接, **ssh-keygen** 是存放秘钥对(公钥和私钥) 的位置, 
``

/root/.ssh/id_rsa. 存放的是私钥 , /root/.ssh/id_rsa.pub. 存放的是公钥

[root@arron-01 ~]# ssh-keygen Generating public/private rsa key pair. Enter file in which to save the key (/root/.ssh/id_rsa): 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:gqNnJgS1xABA/dwifSlGB10LLlxRPmDQNbzVkVgR4Zg root@arron-01 The key's randomart image is: +---[RSA 2048]----+ |B++ o== + | | o.o..+++.oo+o | |. . =oo..+oE . | | . . O.+ .. | | . = = S | | . . . . | | o + | | = | | | +----[SHA256]-----+

存放私钥和公钥的位置

[root@arron-01 ~]# ls /root/.ssh authorized_keys id_rsa id_rsa.pub known_hosts

如果想让机器 1 登录 机器 2 , 就得把机器 2 的公钥放到机器 1 上去,

机器 2 上操作

[root@arron-02 ~]# cat /root/.ssh/id_rsa.pub ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/vGqH5oRf1VvQVySiq2jppbyI6RsLHvfhXJwH4rjdgZDpP6pbW8TOKY4o/Jxajn1/9LixD2t33kyVQl5+Ti6ExQIp2OH8SjOOnPmLfiQW6wrAHOwSMfCLGNfd0n+WS2XVlqZcXPYc6giQxA4or81QJ2+7rSD9aDRH44HTDWqkLZwzr01b6jaI/aMAkYcBT9fOh6iRjBe8zfXr+zbcDU3+hac2HCaudaFnb2xf7Ga1396DP4R7vd9IU/F7Ld+8d24RzciIUmBXtOqW5BcCWuEFJhY+ECixvnhS0DEB+FQEket6PIfqXRcjVieWL6gGomic8qU1HhwU8/aSLdobdd root@arron-02

机器 1 上操作, 将 2 上的公钥放到 1 上, 然后 2 再去 ssh 1

[root@arron-01 ~]# vim /root/.ssh/authorized_keys

##arron-02(ssh-keygen) ssh-rsa AAAAB3NzaC1yc2EAAAADAQABAAABAQC/vGqH5oRf1VvQVySiq2jppbyI6RsLHvfhXJwH4rjdgZDpP6pbW8TOKY4o/Jxajn1/9LixD2t33kyVQl5+Ti6ExQIp2OH8SjOOnPmLfiQW6wrAHOwSMfCLGNfd0n+WS2XVlqZcXPYc6giQxA4or81QJ2+7rSD9aDRH44HTDWqkLZwzr01b6jaI/aMAkYcBT9fOh6iRjBe8zfXr+zbcDU3+hac2HCaudaFnb2xf7Ga1396DP4R7vd9IU/F7Ld+8d24RzciIUmBXtOqW5BcCWuEFJhY+ECixvnhS0DEB+FQEket6PIfqXRcjVieWL6gGomic8qU1HhwU8/aSLdobdd root@arron-02

且要关闭 SELINUX

[root@arron-01 ~]# getenforce Disabled ###再去机器 1 上连接机器 1 [root@arron-02 ~]# ssh -p 22 192.168.137.130 Last login: Wed Jun 6 00:08:29 2018 from 192.168.137.1

* 如上就是秘钥认证

转载于:https://my.oschina.net/u/3869385/blog/1824895

这篇关于20180531 Task 1.13-1.16的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/725295

相关文章

兔子--Android Studio出现错误:Error:Execution failed for task ':myapp:dexDebug'. com.android.ide.common.pro

重点在:finished with non-zero exit value 2. 这里表明了有重复的内容存在。 由于:Android Studio中引入包的方式有如下2种:    compile 'com.android.support:support-v4:22.0.0'    compile files('libs/support-v

卷起来了,Apache Flink 1.13.6 发布!

点击上方蓝色字体,选择“设为星标” 回复"面试"获取更多惊喜 Hi,我是王知无,一个大数据领域的原创作者。  放心关注我,获取更多行业的一手消息。 Apache Flink 社区发布了 Flink 1.13 的另一个错误修复版本。 此版本包括99个错误和漏洞修复以及 Flink 1.13 的小改进,包括 Apache Log4j 的另一次升级(到 2.17.1)。您将在下面找到所有错误修复

深入理解.NET 中的 Task 和 Task.WhenAll

一、Task 的原理         Task 代表一个异步操作。它允许你在不阻塞主线程的情况下执行耗时的操作,如文件读取、网络请求等。 异步执行 当你调用一个异步方法时,它会立即返回一个 Task 对象。这个 Task 对象表示正在进行的异步操作。异步方法会在后台线程上执行,而不会阻塞调用它的线程。例如,使用 Task.Run(() => { /* 耗时操作 */ }); 可以在一个新的线

Linux的进程,线程以及调度(fork与僵尸,内存泄漏,task结构体,停止状态与作业控制)

1.Linux进程生命周期(就绪、运行、睡眠、停止、僵死) 2.僵尸是个什么鬼? 3.停止状态与作业控制,cpulimit 4.内存泄漏的真实含义 5.task_struct以及task_

swoole http服务器task投递异步任务

官网的task案例代码是在tcp服务器中写的,本人在想,http服务器也是server服务器中的一种,应该也可以投递task任务。 一个简单的http服务器代码:    $server = new Swoole\Http\Server('127.0.0.1',8888);$server->on('request',function($request, $response) use($serv

Linux操作系统学习笔记(五)进程的核心——task_truct

一. 前言   在前文中,我们分析了内核启动的整个过程以及系统调用的过程,从本文开始我们会介绍Linux系统各个重要的组成部分。这一切就从进程和线程开始,在 Linux 里面,无论是进程,还是线程,到了内核里面,我们统一都叫任务(Task),由一个统一的结构 task_struct 进行管理。这个结构非常复杂,本文将细细分析task_struct结构。主要分析顺序会按照该架构体中的成员变量和函数

transformer之预训练task小析(五)

上接transformer预训练task之小析(四)      首先思考一个问题,怎么表示掌握了一门语言?      最好的方式可能体现在遣词造句上吧,比如饱受诟病的八股文上有很多的旷世奇作[1],比如很多读起来朗朗上口的👇 天对地,雨对风。大陆对长空。山花对海树,赤日对苍穹。雷隐隐,雾蒙蒙。日下对天中。风高秋月白,雨霁晚霞红。牛女二星河左右,参商两曜斗西东。十月塞边,飒飒寒霜惊

HDU3572_Task Schedule(网络流最大流)

解题报告 题意: 工厂有m台机器,需要做n个任务。对于一个任务i,你需要花费一个机器Pi天,而且,开始做这个任务的时间要>=Si,完成这个任务的时间<=Ei。对于一个任务,只能由一个机器来完成,一个机器同一时间只能做一个任务。但是,一个任务可以分成几段不连续的时间来完成。问,能否做完全部任务。 思路: 网络流在于建模,这题建模方式是: 把每一天和每个任务看做点。由源点到每一任务,建容量

java定时器task:scheduler和quartz

在javaweb项目中,经常用到定时器功能,这里介绍两个我使用过的解决方案,分别是:scheduler 和 quartz。 scheduler: 需要在spring.xml配置文件中添加关于task的配置: <beans xmlns:task="http://www.springframework.org/schema/task" xsi:schemaLocation="

【论文笔记】Multi-Task Learning as a Bargaining Game

Abstract 本文将多任务学习中的梯度组合步骤视为一种讨价还价式博弈(bargaining game),通过游戏,各个任务协商出共识梯度更新方向。 在一定条件下,这种问题具有唯一解(Nash Bargaining Solution),可以作为多任务学习中的一种原则方法。 本文提出Nash-MTL,推导了其收敛性的理论保证。 1 Introduction 大部分MTL优化算法遵循一个通用方