Linux用户管理(五)Linux系统的启动

简介:

Linux系统的启动

一.启动步骤和GRUB

1Linux启动过程分                                                             

1BIOS自检

l  硬件检测及初始化

l  引导启动设备

2)引导启动设备

l  软盘(0磁道第一个扇区)

l  光盘(最外围存储轨道)

l  硬盘(MBR

l  USB存储设备

3)调用Linux引导程序至内存中

l Linux的引导程序可以使用GRUB/LILO等引导软件

l GRUB/LILO可以安装在MBR/引导分区的引导扇区中

4)运行Linux内核

l 内核放在/boot目录中,Linux系统可以同时支持多版本内核

l 解压缩内核

l 检测硬件

l 加载root文件系统

5)执行init进程(按“i”单步运行)

l 启动新进程或关闭进程

l 选择启动模式

l 建立虚拟终端

6)用户登录

l 输入用户名及口令

l 加载用户配置文件

l 加载shell程序

2.引导盘的创建

方法一:安装过程中创建

方法二:mkbootdisk

#mkbootdisk  --device  /dev/fd0    2.4.20-8

方法三:使用dd命令

# dd   if=/boot/vmlinuz  of=/dev/fd0

3GRUB

1GRUB简介

     GRUB是一种基于intel平台的功能强大的启动引导器

2GRUB特点

l  支持大硬盘,突破1024柱面的限制

l  支持两种界面(菜单,命令行)

l  开机画面

        3)安装GRUB

l  安装软件包

#rpm –ivh  grub-0.934.i386.rpm

l  使用安装命令安装GRUBMBR

#grub

grub>root (hdx,y)

grub>setup (hdx[,y])

4GRUB的配置

#vi  /boot/grub/grub.conf

grub.conf中常用的配置命令有:

default=菜单项序号/saved

设置启动菜单的默认启动项

hiddenmenu

隐藏菜单界面

splashimage =图像文件全路径名

指定某文件作为启动菜单的背景图像

timeout=延迟秒数

设置启动菜单的启动延时

title 菜单项名称

开始一个菜单项的配置,设置菜单项的名称

root (hdx,y)

设置GRUB的根设备为linux内核所在的分区

kernel  内核文件名称

指定内核文件的名称及加载内核所需的参数

initrd initrd文件名

指定镜像文件的位置

map  (hdx[,y])  (hdx[,y])

建立虚拟磁盘

rootnoverify (hdx,y)

指定windows启动引导器的位置

makeactive

标识指定分区为活动分区

chainloader +n/文件名称

调用指定windows启动文件

password 口令/--md5  口令密文

设置GRUB启动菜单和菜单项口令

lock

利用password设置的全局口令锁定菜单项

savedefault

保存当前启动菜单项为默认启动

文件实例:

# grub-md5-crypt(产生口令的MD5密文)

           # vi  /etc/grub.conf

        default=0                  

             timeout=50               

             splashimage=(hd0,0)/grub/splash.xpm.gz 

             password  --md5  #!dfdasdf34123!#@$!#@                        

             title  RedHat Linux 9.0          

             root   (hd0,)              

             kernel  /Vmlinuz-2.4.20-8  ro root=/LABEL=/

             initrd   /initrd-2.4.20-8.img       

             password  linux

             tile  windows 2000

             rootnoverify  (hd0,0)         

             chainloader  +1                 

             lock

5GRUBFAQ

l  编辑模式的使用

用于临时修改菜单的选项,在菜单界面中按E键进入

wKioL1neFzijTXmxAABpHnU0WaY336.png-wh_50

菜单主界面

wKiom1neGfejWQwYAABxqwas9BY979.png-wh_50

编辑模式

l  命令行模式的使用

利用命令行命令设置GRUB,在菜单界面中按C键进入

wKioL1neF0qQWQ3XAABiLicMKys401.png-wh_50

命令模式

grub命令行中常用的命令有:

grub>root  (hdx,y)       //设置根设备所对应的分区

            grub>kernel 内核文件     //设置内核文件的名称

            grub>initrd 镜像文件名 //设置镜像文件名

            grub>boot               //启动指定操作系统

            grub>rootnoveify (hdx,y)  //设置根设备所对应的分区,但不检查加载点

            grub>chainloader  文件名//加载指定的文件

grub>help               //获取帮助

grub>reboot             //重启系统

grub>md5-crypt         //生成口令的MD5密文

grub>setup (hdx[,y])    //安装GURBMBR/指定分区的引导扇区中

grub>hide 分区      //隐藏分区

grub>cat 文件名     //显示文件内容

grub>find 文件名     //查找文件

l  如果MBR中的GRUB引导程序被其它程序覆盖,应该如该恢复

1)  放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式,加载硬盘上的LINUX系统到/mnt/sysimage

2)  #grub

grub>root  (hdx,y) 

grub>root  (hdx)

l  恢复GRUB的配置文件

由于grub.conf设置的问题,可以采用以下方法进行恢复:

1)  放入第一张安装启动盘,开始启动计算机:boot:linux rescue(启动linux的修复模式)

2#vi   /mnt/sysimage/boot/grub/grub.conf

l  如何利用GRUB进入单用户模式,找回丢失的root用户口令

GRUB菜单界面中按e编辑linux菜单项,给内核后面添加参数single

然后回车再按b进单用户模式、password root就可以了。

l  如何卸载GRUB

1#rpm  -e grub

2C:\>fisk/mbr

二.init 进程

1.        init进程的作用

init进程是系统启动第一个进程,它负责加载其它进程、管理系统的其它进程

2.        系统运行级别

运行级别

说明

0

关机

1

单用户模式

2

多用户模式、不支持NFS

3

多用户模式

4

保留

5

X-WINDOWS

6

重启

可以使用init在各个运行级别中进行切换,init命令格式如下:

#init  <0-6,a,s,q>

3.        inittab文件的分析

/etc/inittab文件用于设置init进程在执行时加载哪些程序,inittab文件由若干个记录构成,每条记录格式如下:

IDRUNLEVELACTIONCOMMAND

以下为默认inittab文件内容:

id:3:initdefault:

si::sysinit:/etc/rc.d/init.d/rc.sysinit

l0:0:wait:/etc/rc.d/rc0

l1:1:wait:/etc/rc.d/rc1

l2:2:wait:/etc/rc.d/rc2

l3:3:wait:/etc/rc.d/rc3

l4:4:wait:/etc/rc.d/rc4

l5:5:wait:/etc/rc.d/rc5

l6:6:wait:/etc/rc.d/rc6

ca ::ctrlaltdel:/sbin/shutdown  -t3 -r  now

pf::powerfail:/sbin/shutdown  -f  -h+2  “power failure;power shutting down”

pr:12345:powerokwait:/sbin/shutdown–c  “power  restored;shutdown cancelled”

1:2345:respawn:/sbin/mingetty tty1

2:2345:respawn:/sbin/mingetty tty2

3:2345:respawn:/sbin/mingetty tty3

4:2345:respawn:/sbin/mingetty tty4

5:2345:respawn:/sbin/mingetty tty5

6:2345:respawn:/sbin/mingetty tty6

x:5:respawn:/etc/X11/prefdm  -nodaemon

说明:

(1)Action用于设置调用进程的方式 

Respawn

只要进程停止,该进和便重新启动

Wait

进程运行一次,init等待到它停止

Once

进程运行一次

Boot

系统引导过程中,进程运行,忽略等级

Bootwait

系统引导过程中,进程运行,init等待结束

Off

无任何行动

Initdefault

系统默认运行等级

Sysinit

系统引导则运行,优先于bootbootwait

Powerwait

电源故障后发送信号给init,等待进程终止

Ctrlaltdel

init收到SIGINT信号时,该进程运行

Powerokwait

UPS恢复则向init发送SIGINT信号

2 修改/etc/inittab文件,可以设置默认启动模式、各运行级别所加载的程序、CTRLALTDEL的动作、开设虚拟用户终端

4.        /etc/rc.d 的目录内容

1/etc/rc.d/init.d目录

l  保存所有运行等级需要的所有脚本

l  启动、停止、重启某些服务

2/etc/rc.d/rc

l  系统改变运行等级,通过此脚本检查/etc/rc.d/rcX.d目录和文件可存在,以及是否正在运行等,以及运行/etc/rc.d/rcX.d中所有S开头的脚本

3/etc/rc.d/rcX.d目录

l  存放每一运行等级默认启动项,该目录中的文件链接到:/etc/rc.d/init.d

l  文件名格式为K{Two-digit number}  {script name}S{Two-digit number} {script name},K:stop参数运行,S:start参数运行;Two:数字代表执行顺序

4/etc/rc.d/rc.local

l  该脚本在2,3,5运行等级结束时执行

5/etc/rc.d/rc.sysinit

l  系统初始脚本,用于设置系统的时钟、加载键盘、加载系统字体、加载其他文件系统、激活交换分区、生成日志文件

三.用户登录

1.用户登录过程

 wKioL1neF4WSuZNVAACsObq-KNw816.jpg-wh_50



2.用户登录命令

1su

功能:切换用户登录

格式#su  [参数]  [-]  [用户名]

参数:-c  命令      :运行指定的命令

      -m          :不重新设置环境变量

      -s shell路径 :运行指定的shell

      -             :连同工作环境一起切换

实例$su  -

#su  user1

$su  -c /sbin/init 0   root

2exit

功能:退出用户环境(ctrl+d

格式#exit

3login

功能:登录系统 

格式:#login  [参数]  [用户名]

参数:

p:通知login保持现在的环境参数

h:用来向远程登录的主机传输用户名

实例:#login

4logout

功能:退出用户环境、注消用户

实例:#logout

5sudo

功能:以其它用户执行指定的命令,默认是以root身份,只有/etc/sudoers文件中指定的用户有权执行

格式:#sudo [参数命令

参数:

-b  在后台执行指令

-H 将HOME环境变量设为新身份的HOME环境变量。
-k  结束密码的有效期限,也就是下次再执行sudo时便需要输入密码。
-l  列出目前用户可执行与无法执行的指令。
-p  改变询问密码的提示符号。
-s  执行指定的shell
-u<用户 以指定的用户作为新的身份。若不加上此参数,则预设以root作为新的身份。
-v  延长密码有效期限5分钟。
实例:#sudo /sbin/init 0

说明:/etc/sudoers文件格式为:user  host=[all/nopasswd/run as 用户名]  command lint;其中All代表所有文件,nopasswd代表执行文件时不需要要口令

6who

功能:显示登录用户信息

格式:#who  [参数]

参数:-l   显示系统登录进程

-b   显示系统最后一次启动时间

实例:#who

      #who  -l

7w

功能:显示登录用户信息

格式:#w  [用户]

实例:#w

8whoami

功能:显示当前终端登录的用户名称

实例#whoami

9last

功能:显示最近的用户登录情况

格式:#last  [参数]

参数:num    显示指定终端上的用户登录信息

      -num  显示最近n次的用户登录信息

  -i   显示登录主机的IP地址

实例:#last

#last 3

10wall

功能:向每个用户终端上的用户发送消息

格式:#wall [参数]

参数:-n   不显示消息来源

实例:#wall

#wall -n

11write

功能:向指定终端的用户发送消息

格式:#write 用户名 [终端

实例:#write  user1   tty1

注意:/etc/motd为公告板文件,用于记录所有公告信息;/etc/issue为欢迎信息文件

12help

功能:获取shell内置命令的帮助信息

格式:#help  [内置命令名]

实例:#help

      #help times

13man

功能:打开命令手册文件

格式:#man  [命令名/文件名]

实例:#man  su

本文转自 sswqzx 51CTO博客,原文链接:http://blog.51cto.com/sswqzx/1971537


相关文章
|
6月前
|
Ubuntu Linux Anolis
Linux系统禁用swap
本文介绍了在新版本Linux系统(如Ubuntu 20.04+、CentOS Stream、openEuler等)中禁用swap的两种方法。传统通过注释/etc/fstab中swap行的方式已失效,现需使用systemd管理swap.target服务或在/etc/fstab中添加noauto参数实现禁用。方法1通过屏蔽swap.target适用于新版系统,方法2通过修改fstab挂载选项更通用,兼容所有系统。
524 3
Linux系统禁用swap
|
6月前
|
Linux
Linux系统修改网卡名为eth0、eth1
在Linux系统中,可通过修改GRUB配置和创建Udev规则或使用systemd链接文件,将网卡名改为`eth0`、`eth1`等传统命名方式,适用于多种发行版并支持多网卡配置。
1044 3
|
Ubuntu Linux 网络安全
Linux系统初始化脚本
一款支持Rocky、CentOS、Ubuntu、Debian、openEuler等主流Linux发行版的系统初始化Shell脚本,涵盖网络配置、主机名设置、镜像源更换、安全加固等多项功能,适配单/双网卡环境,支持UEFI引导,提供多版本下载与持续更新。
629 3
Linux系统初始化脚本
|
7月前
|
运维 Linux 开发者
Linux系统中使用Python的ping3库进行网络连通性测试
以上步骤展示了如何利用 Python 的 `ping3` 库来检测网络连通性,并且提供了基本错误处理方法以确保程序能够优雅地处理各种意外情形。通过简洁明快、易读易懂、实操性强等特点使得该方法非常适合开发者或系统管理员快速集成至自动化工具链之内进行日常运维任务之需求满足。
463 18
|
6月前
|
安全 Linux Shell
Linux系统提权方式全面总结:从基础到高级攻防技术
本文全面总结Linux系统提权技术,涵盖权限体系、配置错误、漏洞利用、密码攻击等方法,帮助安全研究人员掌握攻防技术,提升系统防护能力。
607 1
|
6月前
|
监控 安全 Linux
Linux系统提权之计划任务(Cron Jobs)提权
在Linux系统中,计划任务(Cron Jobs)常用于定时执行脚本或命令。若配置不当,攻击者可利用其提权至root权限。常见漏洞包括可写的Cron脚本、目录、通配符注入及PATH变量劫持。攻击者通过修改脚本、创建恶意任务或注入命令实现提权。系统管理员应遵循最小权限原则、使用绝对路径、避免通配符、设置安全PATH并定期审计,以防范此类攻击。
1194 1
|
7月前
|
缓存 监控 Linux
Linux系统清理缓存(buff/cache)的有效方法。
总结而言,在大多数情形下你不必担心Linux中buffer与cache占用过多内存在影响到其他程序运行;因为当程序请求更多内存在没有足够可用资源时,Linux会自行调整其占有量。只有当你明确知道当前环境与需求并希望立即回收这部分资源给即将运行重负载任务之前才考虑上述方法去主动干预。
1995 10
|
7月前
|
安全 Linux 数据安全/隐私保护
为Linux系统的普通账户授予sudo访问权限的过程
完成上述步骤后,你提升的用户就能够使用 `sudo`命令来执行管理员级别的操作,而无需切换到root用户。这是一种更加安全和便捷的权限管理方式,因为它能够留下完整的权限使用记录,并以最小权限的方式工作。需要注意的是,随意授予sudo权限可能会使系统暴露在风险之中,尤其是在用户不了解其所执行命令可能带来的后果的情况下。所以在配置sudo权限时,必须谨慎行事。
1160 0
|
7月前
|
Ubuntu Linux 开发者
国产 Linux 发行版再添新成员,CutefishOS 系统简单体验
当然,系统生态构建过程并不简单,不过为了帮助国产操作系统优化生态圈,部分企业也开始用国产操作系统替代 Windows,我们相信肯定会有越来越多的精品软件登录 Linux 平台。
542 0
|
7月前
|
Ubuntu 安全 Linux
Linux系统入门指南:从零开始学习Linux
Shell脚本是一种强大的自动化工具,可以帮助您简化重复的任务或创建复杂的脚本程序。了解Shell脚本的基本语法和常用命令,以及编写和运行Shell脚本的步骤,将使您更高效地处理日常任务。
675 0