让root用户telnet到FreeBSD的方法


    1:如何开启telnet
    ee /etc/inetd.conf
    把
    #telnet stream  tcp     nowait  root    /usr/libexec/telnetd    telnetd
    #telnet stream  tcp6    nowait  root    /usr/libexec/telnetd    telnetd
    前面的#去掉
    kill -HUP `cat /var/run/inetd.pid`
    把inetd重启一下,就可以了。
    如果你连inetd都没有启动,则需要
    ee /etc/rc.conf
    inetd_enable="YES"
    2:允许root用户telnet
    telnet 不是很安全,默认的情况之下不允许 root 以 telnet 进入主机。
    若要允许root用户登入,可用下列方法:
    ee /etc/pam.d/login 
    #auth required pam_securetty.so 
    将这一行加上注释!
    这样, root 就可以直接进入主机了。
    不过,建议不要这样做,如果非要telnet的话,也建议用wheel组用户telnet之后su到root。
    3:telnet的替代方法
    http://www.freebsd.org.cn/snap/doc/zh_CN.GB2312/books/handbook/openssh.html
    建议用ssh,而且ssh也可以限制哪些用户能够登录, 以及从何处登录
    

    采用 AllowUsers 选项能够方便地达到这一目的。 例如, 想要只允许 root 用户从 192.168.1.32 登录, 就可以在 /etc/ssh/sshd_config 文件中加入下述设置:
    AllowUsers root@192.168.1.32
    要允许用户 admin 从任何地方登录, 则只需列出用户名:
    AllowUsers admin
    可以在同一行指定多个用户, 例如:
    AllowUsers root@192.168.1.32 admin
    注意: 列出需要登录机器的用户很重要; 否则他们将被锁在外面。
    在完成对 /etc/ssh/sshd_config 的修改之后您必须告诉 sshd( 重新加载其配置文件, 方法是执行:
    # /etc/rc.d/sshd reload
    

    4:阻止登录的另外一个方法/etc/login.access
    

    最后一个我想说的限制是阻止从其他地方登录,这是通过编辑 /etc/login.access 实现的。
    你可能希望禁止一切远程登录(这意味着你必须物理地坐在机器前面),删除下面这一行前面的#号:
    #-:wheel:ALL EXCEPT LOCAL .win.tue.nl
    把 .win.tue.nl 去掉,于是它看起来将像这样:
    -:wheel:ALL EXCEPT LOCAL 
    如果你需要从远程登录,那么把.win.tue.nl 替换为相应的IP或域名。如果有多个地址,用空格分开。
    如果只有一两个用户的话,那么可以拒绝其他人登录:
    -:ALL EXCEPT user1 user2:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4
    用具体的用户名替换掉 user1 user2 。如果需要的话,增加相应的tty。
    另外,也可以把用户组方在这里。首先,编辑 /etc/group 并增加下面的行:
    mygroup:*:100:genisis,dlavigne6,biko
    当增加组时,需要保证GID的唯一性。
    随后,修改 /etc/login.access :
    -:ALL EXCEPT mygroup:ttyv0 ttyv1 ttyv2 ttyv3 ttyv4 ttyv5
    测试它非常重要,一定要留一个终端。测试每一个终端上的登录,确认其效果。
    

    5:补充
    开启了telnet之后如果在/etc/login.access里面限制了登录,那么该用户照样是不能登录的。
    /etc/login.access
    在里面加了-:abc:ALL以后,abc用户无法telnet了。