4.11 重置密码
忘记了root密码,没办法登录了。就需要重置密码了。
用的是密钥认证,忘记root密码无所谓,只要你记得密钥密码即可。
密码和密钥都支持远程登录,是不是说启用了密钥,密码就失效了。答案是:不是。 二选一,你随便用哪一种都可以。 那为什么还要使用密钥呢? 因为密码相对密钥来说,更容易被破解。
密钥认证指的是 远程的ssh登录。 而本地登录无法用密钥。
改密码:
root用户,直接执行 passwd 回车 输入两次新密码即可
普通用户,也可以改。 passwd username用户的用户名
user1登录后,改自己密码,只需要执行 passwd 即可
如果忘记密码,也没有用密钥认证,总之就是无法远程登录了,如何做?
单用户
救援模式
4.12 单用户模式
单用户模式,是CentOS系统的一个用户级别。 什么叫用户级别呢?
在CentOS7上运行: ls -l /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 1月 4 00:43 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 1月 4 00:43 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 1月 4 00:43 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 1月 4 00:43 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 1月 4 00:43 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 1月 4 00:43 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 1月 4 00:43 /usr/lib/systemd/system/runlevel6.target -> reboot.target
如何进入单用户级别:
重启机器
按一下方向键,不要让系统马上启动
选中第一个启动项
按e 进入编辑grub的界面 (就是启动管理器页面)
按方向键,找到Linux16开头的行,然后挪到ro那里,把ro改为 rw init=/sysroot/bin/sh
再按ctrl x 启动
执行LANG=en
再执行 chroot /sysroot/ ,进入到真正的Linux系统里
执行 passwd 更改密码
执行 touch /.autorelabel (touch命令是用来创建一个新文件,或者说更改文件时间的命令)
执行exit 推出 chroot的系统环境,到内存的环境
再执行reboot,重启
鼠标右击、电源 、重新启动客户机,点击确定
在重新启动的那一刻按动一下上下方向键,注意不要按回车,仅仅按上下方向键
press"e"to edit the selected item or "c"for a command prompt
按e编辑选定的项目或c以获得命令提示符, 按e 等于edit,去编辑选择的
用上下方向键定位到Linux16这行 用向右方向键移动到ro。
并把ro更改为 rw init=sysroot/bin/sh
输入#chroot /sysroot/ 回车 从安全模式下切换到原来的系统模式,才可以使用原来的系统命令,修改密码
输入#passwd root 出现乱码,ctrl+c取消passswd root ,命令
输入#LANG=en 定义源为英文,因为不支持中文
再输入#passwd root
输入新密码,再次确认新密码,
在输入#touch /.autorelabel 这一步很关键,不能忘记
重启。依照第一步,右击电源 重新启动客户机 以上操作均不能远程操作
鼠标右击、电源 、重新启动客户机,点击确定
在重新启动的那一刻按动一下上下方向键,注意不要按回车,仅仅按上下方向键
press"e"to edit the selected item or "c"for a command prompt
按e编辑选定的项目或c以获得命令提示符, 按e 等于edit,去编辑选择的
用上下方向键定位到Linux16这行 用向右方向键移动到ro。
并把ro更改为 rw init=sysroot/bin/sh
输入#chroot /sysroot/ 回车 从安全模式下切换到原来的系统模式,才可以使用原来的系统命令,修改密码
输入#passwd root 出现乱码,ctrl+c取消passswd root ,命令
输入#LANG=en 定义源为英文,因为不支持中文
再输入#passwd root
输入新密码,再次确认新密码,
在输入#touch /.autorelabel 这一步很关键,不能忘记
重启。依照第一步,右击电源 重新启动客户机 以上操作均不能远程操作
4.13 救援模式
救援模式:
跟单用户模式有点类似,它需要用系统盘来启动,是一个内存操作系统。
如何进入救援模式:
1)关机
2)点右键 电源 启动时 进入bios (这一步好像仅限于虚拟机才有的操作)
3)到bios里面,选择boot,把光驱放到第一位 按F10 点yes
4)选择troubleshuooting 回车 选择 rescue a centos system
5)选择continue
6)回车后,敲命令 chroot /mnt/sysimage
7) 执行passwd命令
8) 执行exit 然后执行 reboot 同时把光驱断开
关闭selinux
vi /etc/selinux/config
把 SELINUX=enforcing 改为 SELINUX=disabled
重启系统才会生效
临时改selinux的策略: setenforce 0 临时关闭,重启后,还会引用配置文件里面的配置
getenforce 查看你的linux状态
init 0 或者 shutdown now 关闭虚拟机linux 编辑虚拟机设置挂在光驱 ,要勾选启动时连接,如下图
点击虚拟机 电源,启动时进入固件,有的叫BIOS 如下图
目的是为了从BIOS里面把光驱调为第一启动项,默认不是
选择BOOT 把光驱按加号往上排。按F10保存重启
选择Troubleshooting 解决故障这个选项
进入后选择第二项Rescue a centOS Linux system 回车
再按回车
会进来这个界面 选1继续 please make a selection fro the above:1
1continue 继续
2只读挂载read only mount
3跳过这个SHELL skip to shell
4重启 quit reboot
按回车,
按回车后
输入#chroot /mnt/sysimage/ 回车(比如改错配置文件导致系统不能开机,可以用此方法改正确在开机)
再输入#psswd root 修改root密码, 输入新密码,再次输入新密码 点击右下角光盘断开光驱重启
点击是 重启
4.14 ls命令
ls 命令讲解
man ls 查看ls命令的文档
ls --help 查看帮助信息
常用的选型:
-a 查看隐藏的文件或者目录
-l 查看文件的详细信息(时间、大小、权限、属主、属组、文件的属性)
- 普通文件
d 目录
l 软链接文件(类似于windows的快捷方式)
b 块设备文件(磁盘)
c 字符设备文件 (键盘、鼠标)
s 套接字文件 (socket文件,这个文件是Unix/Linux系统里面用来通信的,进程间通信的文件)
p 管道文件 ( | 命名管道 )
-d 查看目录本身
-t 按时间排序,最新的在上面
-i inode(在格式化磁盘的时候生成的,mkfs.ext4)
4.15 chmod命令
chmod 是用来改一个文件的权限的
-R选型 级联更改权限 举例: chmod -R 666 /tmp/123/
ll 命令 == ls -l
第一大段里面的2-10位(rwxrwxrwx)就是改文件的权限
这2-10位又划分为3个段(每一段有3位) (rwx) (rwx) (rwx) 分别表示 所有者、所属组、其它用户对改文件的权限是什么样的
r==read 4 w==write 2 x==execute 1
rw- == 6 r-x == 5 -wx == 3
chmod 600 1.txt 相当于是把1.txt的权限改成了 rw-------
t --> stick 权限 ( 作用是: 谁的文件,谁做主) rwxrwxrwt chmod 所有者 u 所属组 g 其它用户 o u+g+o == a chmod u+x chmod g-w chmod o+t