一种就是使用单用户模式,可以在系统启动时切到单用户模式。它和Windows系统的安全模式有点相像,首先重启我们的Linux系统(reboot,init 6,shutdown -r now都可以)关机(init 0,poweroff)然后在出现启动切面的那一刻,按下上下方向键,选择上面的,按e,进入grub界面,(它是一个启动工具,简单讲这个工具就是去找到我们系统的启动盘,并引导,然后启动并加载内核。)我们按向下的方向键,找到linux16这一行,然后按向右的方向键定位到ro(read only,只读的意思)我们把它改成rw(read write 读写的意思),然后再加一段,init=/sysroot/bin/sh(sysroot是我们系统所在的目录)加完之后,我们根据提示按下ctrl+x来启动系统,然后我们就进入了单用户模式,然后我们就可以运行命令了,但此模式并未在我们原系统下运行,这个模式其实是一个内存操作系统,我们ls一下会发现一个目录叫/sysroot/,这个才是我们原系统的根目录/。我们可以chroot /sysroot/切换到原来的系统中去,然后我们就可以使用原系统的命令了,passwd root更改root的密码,(如有乱码先运行LANG=en来解决乱码问题)改完密码后,touch /.autorelabel千万不要忘! 然后我们重启客户机,我们就可以用我们新改的密码去登录服务器了!实际上在centos7以后我们就不能叫它单用户了,而是rescue模式,在centos6及以前是有运行级别这个概念的,一共有0到6七个级别,init0关机,init1单用户 就和咱们刚才操作的类似,init 234都是多用户模式,不过不是图形界面而是命令行界面,init 5是图形界面的多用户模式 init6就是重启,这些都是在centos6以前的概念,7就不存在这一概念了,当然也有对应的一些功能,我们ls -l /usr/lib/systemd/system/runlevel*target可以看到从0到6对应的六个target。
第二种更改root密码的方法,救援模式。我们上面讲的rescue模式想要使用前提是必须知道grub工具的密码,或者根本就未加密。救援模式则不必,我们可以拿一个系统光盘或者优盘,加载到安装系统的界面,我们可以在虚拟化软件中挂载一下,编辑虚拟机设置,找到光驱,勾上启动时连接,iso镜像文件选择我们的系统光盘,然后启动我们的系统,进入bios,选择boot,将cd-rom +到第一项,然后f10保存并退出,我们就进入了光盘安装界面,选择Troubleshooting,回车,选择第二项Rescue a CentOS Linux system,回车,再回车,选择1,回车,得到一个命令行,chroot /mnt/sysimage回到我们原系统中,接下来我们就可以改我们的密码了~改完之后重启,我们就可以使用刚才改过的密码登录了!
当然这两个模式不只是能改密码,如果我们摸个配置文件改错了,导致系统无法启动,此时我们即可进入这两个模式将错文件改对,然后我们就可以将系统复原了不是吗?
有时候我们做实验的时候,可能会需要若干台服务器,这时我们可以重装几台,但比较麻烦,此时我们就可以使用克隆功能,来克隆几台虚拟机。克隆前我们需要先将机器关闭,然后右键虚拟机标签,管理,克隆,下一步,然后我们可以选择克隆当前状态或是某一个快照,克隆方法我们选择完整克隆(链接克隆需要能访问到原虚拟机,不能单独移动)然后我们即可开机启动了。然后我们要修改ip地址,否则会和原先的虚拟机冲突,然后将网卡中的UUID项删掉,否则也会产生冲突。hostname可以查看主机名,我们用hostnamectl set-hostname test02给它改名字。我们的主机名保存在/etc/hostname文件中。
接下来我们可以做一个小例子,两台 Linux服务器互相连接,用ssh -p 22 user@192.168.88.133 然后输入密码 我们就连接上了另一台机器,我们可以使用w命令查看一下,看一下都有哪些重端连接着此服务器,如果没有写user@ 默认使用的则是当前使用的用户,而-p 22可以指定端口。