温馨提示×

debian lsnrctl如何设密码

小樊
48
2026-09-12 13:10:38
栏目: 智能运维

在 Debian(或其他 Linux 发行版)上,lsnrctlOracle Database Listener 的管理工具。给 lsnrctl 设置“密码”通常指给 Listener 设置管理密码,防止未授权用户停止或管理监听。

下面按常见做法说明。


一、给 Listener 设置密码(本地密码)

1. 进入 lsnrctl

lsnrctl

2. 设置密码

LSNRCTL> set password
Password: (输入你想设置的密码)
The command completed successfully

⚠️ 注意:

  • 老版本 Oracle 会直接保存明文到 listener.ora
  • 新版本(11g+)已不推荐这种方式

3. 保存配置

LSNRCTL> save_config

这会在 listener.ora 中生成类似:

PASSWORDS_LISTENER = (password)

二、停止/启动 Listener 时使用密码

停止监听(需要密码)

lsnrctl
LSNRCTL> set password
Password: (输入密码)
LSNRCTL> stop

三、推荐方式(更安全):用 OS 认证代替密码

Oracle 11g 开始,官方不推荐使用 Listener 密码,而是:

✅ 使用 操作系统用户权限控制

  • 只有 oracle 用户能管理 Listener
  • 其他用户无法执行 lsnrctl stop

示例:

su - oracle
lsnrctl stop

四、增强安全性的做法(推荐)

1. 限制监听地址

listener.ora 中:

LISTENER =
  (ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))

2. 启用 ADMIN_RESTRICTIONS

ADMIN_RESTRICTIONS_LISTENER = ON

防止运行时修改 listener 配置。

3. 使用防火墙

iptables / nftables / ufw

只放行信任 IP。


五、重要提醒

⚠️ Listener 密码 ≠ 数据库用户密码

  • lsnrctl 密码只控制 listener
  • 数据库安全靠 sys / system 用户和权限

如果你告诉我:

  • Oracle 版本(10g / 11g / 12c / 19c)
  • Debian 版本
  • 是否生产环境

我可以给你最合适、最安全的配置方案

0