IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 系统运维 -> CentOS登录过程 -> 正文阅读

[系统运维]CentOS登录过程

CentOS 8 登录主要涉及3个重要的程序:agetty、login和bash,具体说明如下。

  • agetty:Linux将输入的用户信息写入到如键盘、串行终端设备等,抽象成tty设备文件。agetty会打开对应的tty设备文件,通过对tty设备文件的读取操作,来获得用户登录时所输入的用户名信息。
  • login:获取用户输入的密码,对用户名和密码进行验证,并运行bash程序。
  • bash:解析并执行用户输入的Linux命令。

其登录过程可分为三个阶段:agetty获取用户名,login验证,bash交互。
登录过程

1.agetty获取用户名
当用户在键盘上输入用户名时,每按下一个按键,tty设备的驱动会得到该按键的扫描码,并将其转换成ASCII码字符传递给上一层应用。这时agetty会读取到该字符,并将其显示在屏幕上。如果agetty读到Enter键,就知道此时用户名已经输入完毕了,那之前获取的字符串就是用户名,接下来agetty启动login程序,并将用户名字符串作为参数传入login,然后agetty退出。
2.login验证
login程序运行后,会给出输入密码的提示,需要用户在键盘上输入相应密码。注意:此处输入的密码不会有任何显示。这种现象称之为“没有回显”。用户只需正常输入密码并按Enter键确定即可,之后login程序得到用户输入的密码,再加上之前agetty所传入的用户名,用户名和密码就全了。接下来,login程序会对用户名和密码进行验证,如果验证失败,则会提示“Login iincorrect”,并重返登录界面,login等待一段时间后退出,并重新启动agetty程序,恢复到登录前的状态;如果验证成功,则会创建一个新session并启动bask程序。
注意:如果验证成功,login进程并不会退出,它会和bash进程一起存在。
除了bash,还有多种shell程序,为何login会启动bash呢?这是由/etc/passwd中的设置所决定的。打开/etc/passwd文件,会有一行“root?0:0:root:/root:/bin/bash”内容,这行内容就是有关root用户的设置,这些设置使用冒号:进行分隔,其中最后一项/bin/bash就说明root用户对应的shell程序是/bin/bash,因此当login验证通过后,login就会根据/etc/passwd中的这一项配置来启动/bin/bash。
3.bash交互
bash程序运行后会显示登录提示符,如下所示。

[root@localhost ~ ]#

其中,root表示当前登录的是root用户;localhost表示当前的登录的主机名是localhost;~表示当前目录,又因为~自身表示当前用户的home目录,本例中的用户是root,其home目录是/root,因此,当前目录就是/root,如果我们切换当前目录到/tmp,则~处会替换成tmp;#号表示当前用户为管理员,普通用户#号会替换为$。

当我们输入命令进行执行时,如果该抿了是bash的内置命令则直接执行,如果不是,则搜索$PATH环境变量中的各条路径,如果能找到该命令的可执行文件,则执行该命令,否则提示“Command not found”。

  系统运维 最新文章
配置小型公司网络WLAN基本业务(AC通过三层
如何在交付运维过程中建立风险底线意识,提
快速传输大文件,怎么通过网络传大文件给对
从游戏服务端角度分析移动同步(状态同步)
MySQL使用MyCat实现分库分表
如何用DWDM射频光纤技术实现200公里外的站点
国内顺畅下载k8s.gcr.io的镜像
自动化测试appium
ctfshow ssrf
Linux操作系统学习之实用指令(Centos7/8均
上一篇文章      下一篇文章      查看所有文章
加:2022-08-06 11:16:52  更:2022-08-06 11:17:56 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 11:44:27-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码