第三天-Linux启动级别-光盘启动破解密码-用户-用户组

第三天-Linux启动级别-光盘启动破解密码-用户-用户组

一、系统启动级别

  • 系统启动共有0~6共七个级别,启动级别的配置文件在/etc/inittab(本机设置成了5,即图形界面)。

1535511946683

0:关机

1:单用户模式,拥有root权限,禁止远程登录

2:多用户(无网络)

3.完全的多用户模式(网络)

4:系统保留

5:图形界面

6:重启

注意:不要设置成0和6,否则将无法开机

​ 修改方式:

​ 1. 永久修改:修改最后一行id:X:initdefault:中间的X(1,2,3,5)

​ 2. 临时修改:直接在命令中输入init number

  • 目录/etc/rc.d/下保存了各个级别启动时的配置文件

1535508525250

二、接上一篇忘记密码后修改密码

防:阻止在单用户模式下修改密码

上一篇博客中通过启动时进入高级菜单修改成单用户模式启动,通过passwd命令直接能修改root用户密码,此种方式简单粗暴,任何人都可以做到,接下来介绍如何防范此种方式进行修改密码。

配置文件在/boot/grub/grub.conf

此配置文件仅root用户有权限进行查看或修改,无需担心其他用户修改此文件

vi /boot/grub/grub.conf

  • 设置读秒时间为0

    timeout=0

    1535512249696

    作用:开机时不读秒,直接进入系统,这样就能阻止进入单用户模式

  • 设置编辑启动菜单的保护措施

    timeout下添加password=123456

    1535509790477

    作用:进入一级菜单后只能通过先按p输入设置的密码后才能使用e进入二级菜单

1535509525928

攻:通过光盘镜像启动直接删除密码
  1. 开机狂按F2进入BIOS界面。使用左右键切换到Boot页面,上下键切换到CD-ROM Drive,使用+号将此选项移动至顶部,按F10保存重启

1535509884330

  1. 重启后选择第三项

1535509907868

  1. 此页面选择Continue

    此页面提示在此模式下系统镜像文件挂载到了/mnt/sysimage,所以在此模式下的shell想访问系统目录都需要在原目录前加上/mnt/sysimage

    1535509999821

  2. 进入后一些选项点yes就行,最终进入此页面,选择第一项进入shell

1535510030851

  1. shell窗口显示在页面左下角

1535510040257

  1. 密码信息存储位置:/etc/passwd

    挂载时需要写:vi /mnt/sysimage/etc/passwd

1535510494777

  1. 去掉root用户后的x字母(使用delete键)
  2. 1535510514879
  3. 重启进入BIOS将启动顺序还原
  4. 按F10保存后重启,本次重启比较慢,密码已被清除,操作完成

三、vi补充

  • 命令模式下

    • :set nu – 显示行号
    • :set nonu – 隐藏行号
    • :n – 定位到n行
    • :/{String} – 向下(后)搜索(光标所在位置)
    • :?{String} – 向上(前)搜索(光标所在位置)
  • 一般模式下

    • gg – 定位到首行
    • G – 定位到末行
    • u – 撤销上一次编辑 (Windows下的Ctrl + z)
    • Ctrl + r – 回到撤销之前(Windows下的Ctrl + y)
    • Shift + zz – 保存退出(等同于命令模式下:wq)

四、Linux用户和权限概述

创建用户 – 使用root用户操作
界面模式

1535518451038

命令行模式

useradd – 添加用户

  1. useradd bigdata

此命令的操作步骤:

  1. 分配用户id
  2. 新建相应的目录(家目录/mail目录)
2. **passwd bigdata**

输入两次密码即可,Linux中的密码不会使用*等符号占位,正常输入后回车即可

设置完密码后就可以使用用户名密码登录

用户创建成功后,可以进行登录使用,也可以在命令行模式下使用su {userName}进行切换用户

用户家目录

默认只有家目录所有者拥有所有的权限,其他的普通用户没有任何权限,root用户不受此限制

普通用户的家目录:/home/{userName}

root用户的家目录:/root

1535515006385

权限概述
  1. 不同的用户对于同一个文件有不同的权限(借用用户组,文件本身的权限属性)
  2. 普通用户对比超级用户的区别:对于某些系统级别的操作无权限(系统的重启/防火墙/核心的配置文件/某些命令被限制)
  3. 不同的用户间可以进行切换以获得相应的权限(su),切换时需要输入目标用户的密码
  4. 程序的运行都和用户相关,用户启动进程后,该进程会挂载到该用户下并且以该用户的权限进行执行

Tomcat端口号改成80(server.xml),root用户具有80端口的权限,所以要使用root用户进行启动Tomcat

mysql,使用root用户启动,其他用户也具有访问和使用的权限

  1. 为了避免过多的进程挂载到同一个用户下,对于某些软件需要创建相应的用户
用户家目录权限

d|rwx|—|—

文件类型|所有者对其的操作权限|所在组的其他用户对其的操作权限|组外其他用户对其的操作权限

对于文件

- – 无权限

r – 读,查看

w – 写,修改

x – 执行

对于文件夹

- – 无权限

r – 读,查看

w – 写,修改

x – 能否通过cd切换至该文件夹

五、Linux用户和权限操作

切换用户
  • su {userName}:如果只需要临时使用某些用户的权限,不需要加横杠’-‘

    效果:当前所在的路径不会发生变化

1535523539662

exit退出

1535523557956

  • su - {userName}:完全切换用户,相当于重新登录,路径会切换到目标用户的家目录,读取该用户的环境变量信息

1535523646701

在当前用户是root的情况下,使用su切换用户时,不需要输入该用户的密码

在非root用户情况下使用su切换用户时,需要输入目标用户的密码

可执行文件
概述

可执行文件通常以.sh(软件安装后的脚本文件)结尾,它是shell脚本(Linux命令)

执行方式

有执行权限(x权限)

  • ./{fileName}
  • {fileName}

无执行权限

  • bash {fileName}
权限示例

打开两个Xshell会话,一个是root用户,一个是普通用户cry

1535527015772

在tmp目录下进行操作演示:

  1. 先清空tmp目录

cd /tmp/ – 切换至tmp目录

rm -rf * – 清空tmp目录

  1. root用户的操作:

mkdir rootDir – 创建root用户文件夹rootDir

touch rootFile – 创建root用户文件rootFile

  1. cry用户的操作:

mkdir cryDir – 创建cry用户文件夹cryDir

touch cryFile – 创建cry用户文件cryFile

  1. 对rootFile文件的操作

    1. cry用户:

      vi rootFile

      使用i命令时提示只读文件无法编辑

1535524210993

​ 2. root用户

​ 1.vi rootFile可以正常进行编辑

1535527213054

​ 2.在rootFIle中插入语句mkdir rootTest,保存退出

​ 3.使用./rootFile执行文件,提示没有权限

1535524423475

​ 4.无权限的执行文件可以通过bash命令进行执行,执行完成后文件夹创建成功,如下图:

1535524450182

​ 5.使用touch命令创建文件testBash

​ 6.使用更改权限命令chmod将权限改成744,即-rwxr–r–,此时testBash将变成可执行文件,在Xshell中

​ 将会显示成绿色

1535524547993

​ 7.使用vi testBash在其中添加rm -rf rootTest语句

1535524619132

​ 8.由于testBash有执行权限,可以直接通过./testBash执行,执行完成后rootTest文件被删除

1535524673605

​ 9.使用cry用户操作,进入rootDir,此时rootDir对于其他用户有x权限,所以cd rootDir/可以执行

​ 10.在rootDir文件夹中,由于对于其他用户没有w权限,所以不能使用mkdir、touch等命令

1535524720150

​ 11.使用root用户将rootDir将权限改为750,即对其他用户没有任何权限

1535524773236

​ 12.此时使用ll查看命令、cd进入文件夹命令都没有权限,被拒绝访问

1535524790502

1535524805632

权限更改

对于rwx的权限说明,在上文已经说明

权限修改命令(两种方法):

chmod {权限变更} 作用的文件(夹)

  • 字母加减运算:便于理解,可以增加或去掉某些权限

    如果是相同的操作(+/-),可以进行合并

    例如: chmod o-r,o-x nameDir == chmod o-rx nameDir

1535525091481

1535525156653

  • 数字权限变更(赋权):数字取值范围为0-7,修改权限时必须对ugo(user/group/other)同时指定权限,主要用于修改权限时涉及到较多角色的情况

    rwx- 4210(二进制)

    0-7分别代表:

    0:—

    1:–x

    2:-w-

    3:-wx

    4:r–

    5:r-x

    6:rw-

    7:rwx

1535525325369

六、Linux用户组

  • id命令,显示某个用户的id、主组、所在组列表,此命令非root用户也可以使用

1535530514110

  • 用户分配用户组(通过root用户才能操作)

    1. 添加用户时useradd -g(指定用户组) -G(指定多个用户组),可以通过id和名称指定,必须是已存在的用户组
    2. 修改用户命令usermod -a -G cry bigdata (被修改的用户放在后面)

1535530913360

  • 用户组权限操作实例

    1. 创建一个新用户test,所在组不在cry组中

      useradd test

    2. 创建三个窗口,三个窗口的用户分别是test、bigdata、root,所有会话都进入到tmp文件夹中

      1535532451270

    3. 修改cryDir和cryFile文件对其他用户权限为0

      1535532569704

    4. 在test用户中访问cryFile,命令cat cryFile,提示没有权限

      1535532655296

    5. 在test用户中cd cryDir,同样提示没有权限

      1535532693133

    6. 而root用户可以随意对cryFile进行操作

    1535533187640

    1. 由于bigdata与cry在同一属组(上文修改过属组),所以也能对cryFile、cryDir进行操作

      1535533643921

  • 修改文件(夹)属主、属组

所有者和所在组的权限变更,需要用root操作

chown:更改文件夹的所有者和所在组

chgrp:更改文件夹的所在组

chmod -R {权限变更} {dir}(将dir下的所有(-R)内容权限改为{权限变更}中的内容)

chown -R {user}[:{group}] {file/dir}

chgrp [-R] {group} {file/dir}

将文件cryFile属主改为bigdata:

chown bigdata cryFile

1535531639976

在bigdata用户中无法将cryFIle属主再改回cry,因为权限不允许

chown cry cryFile

1535534242411

修改rootDir目录下的所有文件(夹)属主、属组均为root

chown -R root:root rootDir/

1535534510377

1535534515989

1535534527114

七、补充知识点

  • tab键补全小知识点
    • cd后使用tab会补全目录
    • tab键可以补全可用命令或脚本文件
  • 如果遇到多会话同时操作一个文件的权限时,可能会出现权限没同步的情况,此时登出再登录即可
  • 使用Xftp文件时要注意上传的用户,权限要一致,比如如果用root上传文件,在bigdata用户中可能会出现无法访问的问题

猜你喜欢

转载自blog.csdn.net/cry970795248/article/details/82189501