zoukankan      html  css  js  c++  java
  • linux系统登陆过程

    一、物理直连登陆过程

    初始化进程init

    会根据直接连接的字符终端设备,打开getty程序,并关联在字符终端设备上tty1/2/3/4/5/6/7....上,在不同的终端设备上提示用户输入信息,等待终端登陆

    getty打开login 进程,0-1-2文件描述符关联到tty1上

    login会读取用户信息,查询出登陆shell

    登陆成功,启动shell,开始读取shell启动文件 /etc/profile ~/profile /etc/bashrc ~/.bashrc

    我们可以修改这些启动文件,添加自己的环境变量和修改PATH

    shell启动后,默认有0、1、2文件描述符,关联到字符终端设备tty1/2/3/4/...上

    默认环境变量:USERNAME,LOGINNAME,....

    二、网络连接登陆

    网络登陆时,init进程无法确切知道谁要来连接,只能等待网卡驱动传来的连接,并启动login进行登陆。

    当有网络登陆请求到达时,远程登陆服务(telnet/sshd)会启动gettty,并关联pts/0.1...系统伪终端到gettty。

    远程登陆服务sshd会关联到这个pts伪终端进行读取和写入。gettty会启动login进程并关联到pts伪终端,sshd接受客户端的输入写入pts伪终端进行登陆。

    登陆成功后,启动shell也会关联 到这个伪终端设备,远程客户端就是通过发送指令到sshd,sshd再读写pts进行与服务主机的系统通信

  • 相关阅读:
    HDU 2509 nim博弈
    HDU 1907 nim博弈变形
    HDU 1568 double 快速幂
    HDU 5950 矩阵快速幂
    HDU 1796 容斥原理
    Linux raid信息 查看
    Linux Ubuntu 内核升级
    Ubuntu 14.04 为 root 帐号开启 SSH 登录
    Google 分布式关系型数据库 F1
    分布式事务实现-Spanner
  • 原文地址:https://www.cnblogs.com/justart/p/7688624.html
Copyright © 2011-2022 走看看