评论

收藏

[Unix] 让root用户telnet到FreeBSD的方法

服务系统 服务系统 发布于:2021-09-22 15:47 | 阅读数:546 | 评论:0

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的替代方法
https://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了。


关注下面的标签,发现更多相似文章