在 Debian(或其他 Linux 发行版)上,lsnrctl 是 Oracle Database Listener 的管理工具。给 lsnrctl 设置“密码”通常指给 Listener 设置管理密码,防止未授权用户停止或管理监听。
下面按常见做法说明。
lsnrctl
LSNRCTL> set password
Password: (输入你想设置的密码)
The command completed successfully
⚠️ 注意:
- 老版本 Oracle 会直接保存明文到
listener.ora- 新版本(11g+)已不推荐这种方式
LSNRCTL> save_config
这会在 listener.ora 中生成类似:
PASSWORDS_LISTENER = (password)
lsnrctl
LSNRCTL> set password
Password: (输入密码)
LSNRCTL> stop
从 Oracle 11g 开始,官方不推荐使用 Listener 密码,而是:
✅ 使用 操作系统用户权限控制
oracle 用户能管理 Listenerlsnrctl stop示例:
su - oracle
lsnrctl stop
在 listener.ora 中:
LISTENER =
(ADDRESS = (PROTOCOL = TCP)(HOST = 127.0.0.1)(PORT = 1521))
ADMIN_RESTRICTIONS_LISTENER = ON
防止运行时修改 listener 配置。
iptables / nftables / ufw
只放行信任 IP。
⚠️ Listener 密码 ≠ 数据库用户密码
lsnrctl 密码只控制 listenersys / system 用户和权限如果你告诉我:
我可以给你最合适、最安全的配置方案。