Chinaunix首页 | 论坛 | 博客
  • 博客访问: 219044
  • 博文数量: 56
  • 博客积分: 2325
  • 博客等级: 大尉
  • 技术积分: 560
  • 用 户 组: 普通用户
  • 注册时间: 2009-03-30 18:18
文章存档

2012年(7)

2011年(1)

2010年(2)

2009年(46)

我的朋友

分类:

2009-04-27 09:32:49

    init初始化系统,然后启动mingetty。mingetty是getty的简化,不能处理串口操作,getty的功能一般包括:
    1. 打开终端线,设置与终端线相关的标准输入、输出和错误输出;注册提示符出现在终端上,输出登录界面及提示,接受用户名的输入。
    2. login程序在getty的同一个进程空间中运行,接受getty传来的用户名参数作为登录的用户名。如果用户名不是root,且存在/etc/nologin文件,login将输出nologin文件的内容,然后退出。这通常用来系统维护时防止非root用户登录。只有/etc/securetty中登记了的终端才允许root用户登录,如果不存在这个文件,则root可以在任何终端上登录。/etc/usertty文件用于对用户作出附加访问限制,如果不存在这个文件,则没有其他限制。
   当用户登录通过了这些检查后,login将搜索/etc/passwd文件(必要时搜索 /etc/shadow文件)用于匹配密码、设置主目录和加载shell(如果没有指定主目录,将默认为根目录;如果没有指定shell,将默认为/bin/sh)。在将控制转交给shell以前, getty将输出/var/log/lastlog中记录的上次登录系统的信息,然后检查用户是否有新邮件(/usr/spool/mail/{username})。在设置好shell的uid、gid,以及TERM,PATH等环境变量(读取起始目录下的shell的初始化文件)以后,进程加载shell,login的任务也就完成了。
阅读(1284) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~