温馨提示×

debian lsnrctl怎么设密码

小樊
46
2026-09-21 21:02:05
栏目: 智能运维

在 Debian 上,lsnrctl 是 Oracle Database Listener 的控制工具。给监听器设置密码(也就是 Listener Password),目的是防止未授权用户随意停止或操作监听器。

⚠️ 注意:从 Oracle 10g 以后,监听器默认使用 本地操作系统认证(Local OS Authentication),只有 oracle 用户能管理监听器。如果你只是想限制远程操作,设置密码仍然是可行的。


一、设置 Listener 密码(推荐方式)

1. 切换到 oracle 用户

su - oracle

2. 进入 lsnrctl

lsnrctl

3. 设置密码

LSNRCTL> change_password
Old password: (没有就直接回车)
New password: 你的密码
Reenter new password: 你的密码

4. 保存配置

LSNRCTL> save_config

✅ 这样密码就写入了 listener.ora


二、验证密码是否生效

重新进入 lsnrctl:

lsnrctl

执行:

LSNRCTL> status

如果提示:

TNS-01169: The listener has not recognized the password

说明密码已生效。


三、使用密码操作监听器

LSNRCTL> set password
Password: 你的密码

然后再执行:

LSNRCTL> stop
LSNRCTL> start

四、listener.ora 中的表现

设置后,你会在 $ORACLE_HOME/network/admin/listener.ora 看到类似:

PASSWORDS_LISTENER = (password_hash)

⚠️ 密码是 加密哈希,不可逆向


五、重要说明(Debian / 新版本 Oracle)

  • Debian 上通常 Oracle 装在 /opt/oracle 或 /u01
  • Oracle 11g+ 默认:
    • 本地 oracle 用户 无需密码
    • 远程或普通用户 需要密码
  • 如果 save_config 报错权限不足,检查 listener.ora 权限

六、安全建议(强烈推荐)

✅ 更安全的做法是:

  • 不要暴露 1521 端口到公网
  • 用防火墙限制 IP
  • 用 oracle 用户本地管理
  • 密码只是“锦上添花”

如果你愿意,可以告诉我:

  • Oracle 版本(10g / 11g / 12c / 19c)
  • Debian 版本
  • 是否远程管理监听器

我可以给你最合适的安全方案。

0 踩