centos7重置密码、单用户模式、救援模式、ls命令、chmod命令

在工做当中若是咱们错误的配置了文件使服务器不能正常启动或者忘记密码不能登陆系统,如何解决这些问题呢?重装系统是能够实现的,可是每每不能轻易重装系统的,下面用忘记密码做为例子讲解如何在不重装系统的状况下解决这些问题。node

centos7重置密码

单用户模式重置密码

单用户模式:单用户模式是一个运行级别,在系统中能够运行一个命令来查看系统的运行级别有哪些: ls -l /usr/lib/systemd/system/runlevel.target*shell

[root@localhost ~]# ls -l /usr/lib/systemd/system/runlevel*.target
lrwxrwxrwx. 1 root root 15 Jan 21 05:36 /usr/lib/systemd/system/runlevel0.target -> poweroff.target
lrwxrwxrwx. 1 root root 13 Jan 21 05:36 /usr/lib/systemd/system/runlevel1.target -> rescue.target
lrwxrwxrwx. 1 root root 17 Jan 21 05:36 /usr/lib/systemd/system/runlevel2.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Jan 21 05:36 /usr/lib/systemd/system/runlevel3.target -> multi-user.target
lrwxrwxrwx. 1 root root 17 Jan 21 05:36 /usr/lib/systemd/system/runlevel4.target -> multi-user.target
lrwxrwxrwx. 1 root root 16 Jan 21 05:36 /usr/lib/systemd/system/runlevel5.target -> graphical.target
lrwxrwxrwx. 1 root root 13 Jan 21 05:36 /usr/lib/systemd/system/runlevel6.target -> reboot.target

能够看到centos7有0-6,7个运行级别centos

  1. 0表示关机。
  2. 1表示单用户模式(字面意思是救援模式,咱们习惯称之为单用户)
  3. 2-4三个运行级别均表示多用户模式
  4. 5表示图形界面
  5. 6重启

如何进入单用户模式

  1. 要进入单用户模式,须要重启机器,可使用init 6 或reboot命令来重启。在机器启动到grub界面时按上下箭头(只有几秒的时间,须要快速按下,不然系统会正常启动)
  2. 选中第一条,按下“e”键来编辑grub,而后利用箭头将光标定位到下图所示的ro处。
  3. 而后将ro修改成rw init=/sysroot/bin/sh 。按ctrl+x来启动。
  4. 接下来机器会启动到一个内存系统下(相似于Windows的winpe同样),也会有一个文本的交互界面

重置root密码

  1. 运行chroot /sysroot/ 命令来进入咱们真正的系统。而后就可使用passwd root命令来重置密码了
  2. 若是原来的系统装的是中文版的,须要敲LANG=en ,防止由于在这个界面不能正常显示中文而出现乱码。
  3. 运行touch /.autorelabel ,再运行exit退出当前shell 。最后一步 reboot 重启。

救援模式

咱们通常说的救援模式是须要借助系统盘(光盘或者u盘)这种工具来进入的。服务器

  1. 若是是物理机,咱们首先须要将光盘插入光驱,而后重启机器。(虚拟机同样的步骤)
  2. 在机器启动的时候按下F2(不一样品牌的服务器按键不同,能够根据提示操做)进入BIOS
  3. 选中boot选项卡,将CD-ROM Drive选项调整到第一项(按+、— 按键调整)
  4. 按下F10保存退出,选择yes。
  5. 在下面这个界面中选中Troubleshooting ,敲回车
  6. 接下来的界面,选择rescue a centos system,敲回车。而后再敲回车。
  7. 而后出现一个交互界面,输入1,回车
  8. 在这个界面敲回车得到一个shell,真正的系统倒是在/mnt/sysimage/下
  9. 运行chroot /mnt/sysimage
  10. 正常修密码就能够了,修改完以后,退出当前shell ,重启系统就能够了。

ls 命令

在centos中有一个man命令,这个man是用来查看其它命令的文档的,好比要查看ls命令的文档: man ls ls 命令经常搭配一些参数来使用,以达到咱们想要的输出结果。工具

  • ls -a 查看文件的隐藏权限
  • ls -l 查看文件的详细信息(时间,大小,权限,属主属组,文件的属性)
  • ls -d 只查看命令后面跟的目录的信息,而不查看该目录下其余文件的信息。
  • ls -lt 按时间排序时间越早的排的越下面
  • ls -i 查看文件的Inode号
[root@localhost ~]# ls -l /tmp
total 4
 -rwx------. 1 root root 836 Jan 21 05:45 ks-script-ob6xOy
 drwx------. 3 root root  17 Jan 22 12:35 systemd-private-5f7ab756ffe94541891075d943c5de58-chronyd.service-eOAzQl
 -rw-------. 1 root root   0 Jan 21 05:34 yum.log

chmod命令。

文件权限

如上面所示,当使用ll列出一个文件的信息时,最前面有10个字符。centos7

  1. 第一个字符表示的是文件的类型
  • d表示目录,
  • -表示普通文件,
  • s表示套接口文件
  • b表示块设备文件
  • c表示字符设备文件
  1. 后面9位表示权限,前3位表示属主对该文件的权限,中间3位表示属组对该文件的权限,后3位表示其余用户对该文件的权限。
  2. 权限的表示rwxrwxrwx ,r=读权限,用数字表示为4,w=写权限,数字表示为2,x=执行权限,数字表示为1。因此一个文件的权限若是是644表示属主对该文件有读写权限,属组和其余用户对该文件只有读的权限。

chmod命令是用来更改文件权限的

[root@localhost tmp]# ls -la test.txt 
-rw-r--r--. 1 root root 846 Jan 22 12:57 test.txt
[root@localhost tmp]# chmod 666 test.txt 
[root@localhost tmp]# ls -la test.txt 
-rw-rw-rw-. 1 root root 846 Jan 22 12:57 test.txt

这是一个比较简单的用法,直接更改文件的权限。 还能够这样使用chmod u=rwx,g=r,o=r filname。这条命令当中,u 表示全部者,g 表示所属组,o表示其余用户。3d

[root@localhost tmp]# chmod u=rw,g=r,o-rw test.txt 
[root@localhost tmp]# ls -la test.txt 
-rw-r-----. 1 root root 846 Jan 22 12:57 test.txt
相关文章
相关标签/搜索