温馨提示×

debian telnet权限问题

小樊
37
2026-10-19 07:13:33
栏目: 智能运维

在 Debian 里,telnet 本身并不是“权限”服务,而是依赖 inetd / xinetd / systemd socket 启动,再加上 Linux 用户/文件权限 + PAM 来控制访问。下面按常见场景给你梳理一下。


一、telnet 服务起不来(权限类)

1. 没有安装 telnet 服务

Debian 默认不装 telnet server

sudo apt update
sudo apt install telnetd

2. 端口权限问题(非 root 不能绑 23)

telnet 默认端口是 23(特权端口)

  • 只有 root 能监听
  • 所以必须由 root 启动,然后 降权到登录用户

✅ 正常情况:

  • systemd / inetd 以 root 启动
  • 登录后切到普通用户

❌ 错误情况:

  • 手动 telnetd 用普通用户跑 → 端口绑定失败

二、能连但不能登录(最常见)

1. /etc/passwd 用户被锁

passwd -S 用户名

状态:

  • L = 锁定
  • P = 有密码
  • NP = 无密码

解锁:

sudo passwd -u 用户名

2. /bin/bash 被改或不存在

telnet 登录依赖 shell

grep 用户名 /etc/passwd

示例:

user:x:1000:1000::/home/user:/bin/bash

如果 shell 是 /bin/false 或 /usr/sbin/nologin
→ telnet 直接断开


3. PAM 禁止 telnet 登录(很重要)

Debian 常用 PAM 限制:

文件:/etc/pam.d/login

或

/etc/pam.d/telnet

常见限制:

auth required pam_securetty.so
  • 只允许从 securetty 登录
  • telnet 不在其中 → 直接拒绝

✅ 解决(不推荐生产): 注释掉该行


4. /etc/securetty 限制

cat /etc/securetty

如果没有 pts/0、pts/1 等
→ telnet 无法登录


三、root 不能 telnet(安全限制)

Debian 默认禁止 root telnet 原因:

  • telnet 明文传输
  • root 直接登录极危险

✅ 正确做法:

普通用户 telnet → su / sudo

❌ 强行允许(不推荐): 修改 PAM 或 securetty(不建议)


四、文件/目录权限问题

1. 家目录权限错误

ls -ld /home/用户名

应为:

drwxr-xr-x

如果是:

drwxrwxrwx

→ 很多服务拒绝登录

修复:

chmod 755 /home/用户名

2. .bashrc / profile 权限

chmod 644 ~/.bashrc

五、systemd 下 telnet 权限(现代 Debian)

Debian 10+ 常用:

systemctl status telnet.socket

启动:

sudo systemctl enable --now telnet.socket

如失败:

journalctl -xe

六、强烈建议(安全角度)

⚠️ telnet:

  • 明文密码
  • 无加密
  • 极易被抓包

✅ 推荐替代:

ssh user@ip

七、你可以告诉我

为了更精确帮你,请说:

  1. Debian 版本(cat /etc/debian_version)
  2. telnet 怎么启动的(systemd / xinetd / 手动)
  3. 报错信息(连接失败 / 登录失败 / 自动断开)

我可以给你逐条对应命令。

0 踩