5月31日任务
1.13 单用户模式
在工作过程中,学习过程中,忘记root密码,怎么办:单用户模式
单用户模式要在系统启动前切入,所以要重启操作系统
【重启操作系统的命令:reboot,init 6,shutdown -r now
【关机用:init 0,poweroff
e=edit,编辑,编辑你的上面的选项,经过修改才能进入单用户模式。进入grub界面
grub是什么:是一个启动工具。找到系统中的启动盘,引导硬盘启动,加载内存等。
找到第一段以linux开头的行,
sysroot是系统所在目录,启动的时候,加载个程序,来修改密码
然后执行“ctrl + x”,下面有提示,用来start
这里相当于一个内存操作系统。
chroot /sysroot/ //切换到原来的操作系统去。这时就可以用原来系统的命令了,也可以改root密码了
最后使用虚拟机按钮,重新启动虚拟机。使用重置的密码登陆。
远程是做不到的~
1.14 救援模式
运行级别:0--6 7个级别
0:关机
1:单用户【centos6及以前的版本,单用户模式就是刚才的操作类似的模式。不需要做用户认证的
2-4:都是多用户模式,命令行下的多命令模式。没有安装桌面的系统中,默认进入的环境就是级别3.
5:图形操作界面
6:reboot重启
centos7没有这些概念了。运行级别的概念。
[root@localhost ~]# ls -l /usr/lib/systemd/system/runlevel*target
lrwxrwxrwx. 1 root root 15 5月 30 07:02 /usr/lib/systemd/system/runlevel0.target ->
poweroff.target //关机
lrwxrwxrwx. 1 root root 13 5月 30 07:02 /usr/lib/systemd/system
/runlevel1.target ->
rescue.target //单用户模式
lrwxrwxrwx. 1 root root 17 5月 30 07:02 /usr/lib/systemd/system/runlevel2.target -> multi-user.target //
lrwxrwxrwx. 1 root root 17 5月 30 07:02 /usr/lib/systemd/system/runlevel3.target -> multi-user.target //
lrwxrwxrwx. 1 root root 17 5月 30 07:02 /usr/lib/systemd/system/runlevel4.target -> multi-user.target //2,3,4多用户模式
lrwxrwxrwx. 1 root root 16 5月 30 07:02 /usr/lib/systemd/system/
runlevel5.target -> graphical.target //图形模式
lrwxrwxrwx. 1 root root 13 5月 30 07:02 /usr/lib/systemd/system/runlevel6.target -> reboot.target //重启
有的机器会设置grub密码:可以使用系统U盘,重新进入装系统的界面,(加载光驱),启动时进入BIOS:修改光驱为第一启动项(默认是可移动的设备第一,硬盘第二,第三才是cdrom)
忘记grub密码,只能通过光驱这样修改。
选择后直接回车
后面提示按回车,得到一个shell,所以我们直接回车~
接下来就是 passwd root,修改密码。然后断开光驱,重新启动客户机,就可以。
当系统出现故障,原因是修改某一项内容,则可以通过单用户模式、救援模式(光驱进入的方式),将错误文件修改回来,然后再重启,就可以了。
1.15 克隆虚拟机
学习过程中,需要使用到多台虚拟机。可以自己安装,也可以使用克隆功能。
首先要将虚拟机关机。在菜单栏“虚拟机”-->“管理”-->“克隆”找到克隆。
链接克隆节省空间。
然后直接开启克隆得到的虚拟机:然后一定要修改克隆得到的虚拟机的IP地址,否则冲突。并且修改网卡配置文件时,要删除UUID,否则一样跟源虚拟机冲突。
修改主机名:
[root@localhost ~]# hostname set-hostname xiao
退出然后再登陆,就会看到主机名发生了变化。这条命令直接修改了配置文件的,666.
因为是克隆的,所以之前的密钥也是存在的,所以,可以直接登陆。
环境基础OK,可以快照做个标记。
1.16 Linux机器相互登录
主机A :192.168.172.128 主机B :192.168.172.129
在主机A上连接主机B:ssh 192.168.172.129
查看两主机的状态;
当都没有连接是:
主机A
[root@localhost ~]# w | cat
00:26:43 up 4 min, 1 user, load average: 0.00, 0.02, 0.02
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root pts/0 192.168.172.1 00:22 3.00s 0.02s 0.00s
主机B:
[root@localhost ~]# w | cat
00:28:48 up 8 min, 2 users, load average: 0.00, 0.01, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 00:21 7:12 0.16s 0.16s -bash
root pts/0 192.168.172.1 00:22 0.00s 0.01s 0.00s w
当主机A连接主机B时:
主机A:
[root@localhost ~]# w | cat
00:26:52 up 6 min, 3 users, load average: 0.00, 0.01, 0.01
USER TTY FROM LOGIN@ IDLE JCPU PCPU WHAT
root tty1 00:21 5:16 0.16s 0.16s -bash
root pts/0 192.168.172.1 00:22 12.00s 0.01s 0.01s -bash
root
pts/1 192.168.172.128 00:26 2.00s 0.02s 0.01s
主机B:没变化。
对于远程连接的命令ssh:这个服务默认是22端口。
完整使用:ssh username@ip //我们使用的时候,省略了root用户。
如果使用的是非默认端口,是其他特别端口,需要使用:ssh -p 220 root@192.168.172.129
这里特别端口就是220。
whoami:查看谁在登陆
免密登陆:ssh-keygen
[root@localhost ~]# 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:Db2/fSLohnmdfmUkLw72o1wezQoZ37100z3C6YVN51Q root@localhost.localdomain
The key's randomart image is:
+---[RSA 2048]----+
| |
| . |
| . . E|
| o . . o|
| S o . =o|
| .++**O|
| o ++X+XX|
| o +.=*Xo*|
| +..==+= |
+----[SHA256]-----+
[root@localhost ~]#
在两台主机之间把公钥相互写到文件:/root/.ssh/authorized_keys里面即可。
[root@localhost ~]# ssh 192.168.172.129
Last login: Thu May 31 00:26:50 2018 from 192.168.172.128
[root@localhost ~]#
不需要输入密码即可登陆!
修改selinux:之前的修改是临时的,想要永久修改,需要写配置文件:
vi /etc/selinux/config
SELINUX=permissive
配合临时修改,效果更佳。