Chinaunix首页 | 论坛 | 博客
  • 博客访问: 471653
  • 博文数量: 135
  • 博客积分: 1860
  • 博客等级: 上尉
  • 技术积分: 1441
  • 用 户 组: 普通用户
  • 注册时间: 2008-01-05 20:39
文章分类
文章存档

2012年(2)

2011年(130)

2009年(2)

2008年(1)

我的朋友

分类:

2011-08-11 14:53:03

    用户登录过程剖析 login

    用户在控制台登录基本流程是:由init进程启动getty产生几个虚拟控制台(tty1,tty2等)。在控制台上显示登录,当用户敲入用户时,getty执行(exec)登录(login)进程,进入登录认证过程过程,认证成功后,登录进程(login)会fork相应用户shell的子进程,至此登录过程结束。用户可以在对应的shell下工作。其过程是getty,login, shell一般是bash

     

    Getty   gettyinit启动,其配置在/etc/inittab中,getty可以启动虚拟控制台如tty1,也可以启动串口(可用于调试内核)和modem,在inittab中的配置文件如下。

     

                            # Format:

                            #                         :::| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!) {$ Y3 g8 u9 Q- t

                            #LPI中文论坛3 N1 b* c) P# R% h6 S* m& C

                            # Note that on most Debian                        systems tty7 is used by the X Window System,| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!& u; i2 C6 w7 H& g

                            # so if you want to add more                        getty's go ahead but skip tty7 if you run X.

                            #

                            1:2345:respawn:/sbin/getty                        38400 tty1bbs.lpi-china.org: e* x- ^5 K8 M4 `! L" H/ i

                            2:23:respawn:/sbin/getty                        38400 tty2

                            3:23:respawn:/sbin/getty                        38400 tty3

                            4:23:respawn:/sbin/getty                        38400 tty4

                            5:23:respawn:/sbin/getty                        38400 tty5bbs.lpi-china.org) f7 U9 N& v% w

                            6:23:respawn:/sbin/getty                        38400 tty6LPI中文论坛- w* A2 Y! d& L9 l3 C4 V9 x

                            

                            # Example how to put a getty                        on a serial line (for a terminal)

                            #| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!, B& D/ R! ^+ V  p9 s. K: i

                            #T0:235:respawn:/sbin/getty                        -L ttyS0 9600 vt100

                            #T1:23:respawn:/sbin/getty                        -L ttyS1 9600 vt100bbs.lpi-china.org4 n0 L$ ~" k' `* P; E/ y( y

                            LPI中文论坛1 ~) H1 q6 {% d; [1 `( i0 |2 @

                   

        getty启动是会读取/etc/issue文件并且在控制台上显示,一般是发行版的一些信息,节点名等。

    Login过程    Login的基本流程如下图。LPI中文论坛9 @& }; v) `2 L6 s4 y! K6 N0 ^

    LPI中文论坛8 i# V$ ]7 b1 `6 P2 J( k

     

        login的配置文件是/etc/login.defs,其认证对应的重要文件是/etc/pam.d/login,这里定义了认证的限制(如怎么禁止非root用户登录,如何限制特定用户登录),以及认证成功后一些环境变量(如mail位置设定,资源限制设定)的设定。

    bbs.lpi-china.org/ ^7 C# Q7 v* z' L. s& B; O

                                    重要的login相关的pam配置文件设定:

    用户的访问控制:

  1. 限制root在指定的虚拟终端登录:

                   

                                           

    Disallows                                                root logins except on tty's listed in /etc/securetty

                                            #                                        (Replaces the `CONSOLE' setting from login.defs)

                                           

    auth                                                              [success=ok ignore=ignore user_unknown=ignore                                                        default=die]  pam_securetty.soLPI中文论坛0 P" R, ?! [; r4 ]# ?

                                   

           

    LPI中文论坛5 e1 l/ _3 F* F

  2. 限制非root用户登录:配置文件/etc/nologin存在则只允许root登录。LPI中文论坛9 s! K4 R5 |0 a0 v: o3 W

           

                                    # Disallows other than root                                logins when /etc/nologin exists* `7 A& `1 R9 n( ~' t0 y9 L

                                    # (Replaces the                                `NOLOGINS_FILE' option from login.defs)" |" t( P4 }$ x' J

                                    auth       requisite                                 pam_nologin.sobbs.lpi-china.org, k- n1 |: n. L7 v& ^. o4 F

                                   

                           

  3. 限制特定用户登录| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!" k8 z0 Q; r4 y3 X$ A  B
                                           

                                                    # Uncomment and edit                                                /etc/security/access.conf if you need toLPI中文论坛4 e& l- i/ l: _  t+ ^5 f6 R+ q

                                                    # set access limits.

                                                    # (Replaces                                                /etc/login.access file)| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!  I" t2 r' v- V6 u& C* }9 j

                                                    # account  required                                                      pam_access.so| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!5 u& m& T9 U8 v

                                                    9 ^: _' c9 I! r" `

                                           

                   

                    access.conf的文件格式比较复杂,请参考发行版的配置文件。

    环境变量

  4. 环境变量

           

                                    # parsing /etc/environment                                needs "readenv=1"

                                    session       required                                  pam_env.so readenv=1bbs.lpi-china.org& m% {! ~* R# q0 X+ }

                           

  5. 本地化变量LPI中文论坛; {9 Q& Y- b, g4 c6 d2 v8 T  f
                                           

                                                    # locale variables are                                                also kept into /etc/default/locale in etch* d6 r% J2 b& x: ?8 v

                                                    # reading this file *in                                                addition to /etc/environment* does not hurt| LPI Linux论坛|LPI Linux社区汇聚Linux人的力量!) }, Q" ^2 e6 v" s7 g

                                                    session       required                                                  pam_env.so readenv=1 envfile=/etc/default/localebbs.lpi-china.org  h. \1 a' v/ A# ]/ ~, @

                                                    ; ^5 Z+ ^3 U$ ]  n

                                           

                    0 N4 Y6 v1 H& s' D

                   

  6. 资源限制LPI中文论坛) Y! i  ]+ I- ^) U+ T' ]7 y
                                           

                                                    # Sets up user limits                                                according to /etc/security/limits.confbbs.lpi-china.org. W4 s$ H9 c# ^; a  u1 [

                                                    # (Replaces the use of                                                /etc/limits in old login)

                                                    session    required                                                  pam_limits.so4 ~1 S( m2 T& F

     

    Pasted from <>

     

阅读(1045) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~