• 欢迎浏览“String me = Creater\忠实的资深Linux玩家;”,请文明浏览,理性发言,有侵犯你的权益请邮件我(creater@vip.qq.com).
  • 把任何的失败都当作一次尝试,不要自卑;把所有的成功都想成是一种幸运,不要自傲。
  •    5年前 (2013-06-03)  Linux应用 |   1 条评论  9 
    文章评分 0 次,平均分 0.0

    linux的登录主要是由两个文件在控制,/usr/sbin/getty来获得用户名,并进行检查用户名是否存在,然后将用户名传递给/usr/bin/login来获取用户输入密码和检查密码是否正确.

    所以要实现linux的自动登录,就要改动这两个文件.
    1.getty实现的主要功能是:
    1)打开指定的tty;
    2)提示用户登录(login:);
    3)获得登录用户名;
    4)把用户名传递给login命令

    2.login实现的主要功能是:
    1)先检车是不是超级用户;
    2)提示用户输入密码(通过getpass()实现);
    3)检查密码并检查是否quiet登录;
    4)设置登录的用户的ID和组ID,并设置相应的环境变量.

    3.下载util-linux的source code包,login和getty的命令就是在这里面生成的.
    1)修改agetty.c文件的获得logname的代码.
    while((logname = get_logname(&options,&chardata,&termio)) == 0)
    next_speed(&termio,&options);
    注释掉上面两行,然后添加:
    logname = "your count name";//输入你的账户名字

    2)修改login.c文件:
    passwd_req为密码是否需要验证的一个开关,关掉:
    passwd_req = 0;
    注释掉下面对passwd_req做赋值的几行:
    if(fflag && (getuid()==0))
    passwd_req = 0;
    else
    passwd_req = 1;
    上面全部注释.

    3)然后./configure,进login-utils里面make,不要make install.
    4)把系统的login和getty做个备份,然后将编译生成的login和agetty,复制过去,agetty改名为getty.

    4.然后reboot,你的系统就会直接进入到系统里面了.

     

    除特别注明外,本站所有文章均为String me = "Creater\忠实的资深Linux玩家";原创,转载请注明出处来自http://unix8.net/home.php/1380.html

    关于

    发表评论

    暂无评论

    切换注册

    登录

    忘记密码 ?

    切换登录

    注册

    扫一扫二维码分享