小白今天在Suse上试了一下root用户登上Telnet文件,结论如下:
前提:telnet服务已经开启,23号端口正在监听,如下:
linux101:/etc/pam.d # lsof -i:23
COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME
xinetd 5433 root 5u IPv4 117931557 0t0 TCP *:telnet (LISTEN)
1. root用户能够Telnet:
在/etc/pam.d/login中
#%PAM-1.0
auth requisite pam_nologin.so
#auth [user_unknown=ignore success=ok ignore=ignore auth_err=die default=bad] pam_securetty.so 或者 #auth required pam_securetty.so 被注释掉,或者不存在这一行
auth include common-auth
account include common-account
password include common-password
session required pam_loginuid.so
session include common-session
session required pam_lastlog.so nowtmp
session optional pam_mail.so standard
session optional pam_ck_connector.so
session required pam_limits.so
session required /lib64/security/pam_limits.so
2. root用户不能Telnet ==存在/etc/securetty文件+上面标红处没有被注释掉
a) /etc/securetty存在是首要条件,不存在,root用户一定会telnet
b) /etc/securetty存在,但若在/etc/securetty中配置了一些终端名称(相当于白名单,VIP用户),如:pts/1,pts/2,pts/3...这样的,就算标红处没有注释掉,root可以Telnet
c) /etc/securetty为空文件,则什么用户,什么设备都不能以root登录telnet。
d)root用户虽不能登telnet,但可以曲线救国:先普通用户登telnet,再su - root切换到root。