开发者社区 > 云原生 > 微服务 > 正文

Nacos禁止默认nacos用户登录怎么办?

Nacos禁止默认nacos用户登录?

展开
收起
真的很搞笑 2024-07-18 08:56:14 83 0
2 条回答
写回答
取消 提交回答
  • 在Nacos中设置或修改用户密码,可以根据不同的场景采取以下步骤:

    初始化集群时设置默认用户密码
    修改数据库脚本:在Nacos集群初始化前,进入${nacos.home}/conf/目录,编辑mysql-schema.sql(假设使用MySQL作为外部数据库),修改默认密码插入语句,如:INSERT INTO users (username, password, enabled) VALUES ('nacos', '${new_password}', TRUE);。记得将${new_password}替换为经过BCrypt加密的新密码。加密工具可使用Nacos提供的PasswordEncoderUtil类,通过运行Java代码获取加密后的密码。
    初始化集群后修改密码
    通过控制台修改:登录Nacos控制台,进入“权限控制”->“用户管理”,选择相应用户进行密码修改。
    使用运维API:执行PUT请求修改密码,如:curl -X PUT 'http://${nacos_host}:${nacos_port}/nacos/v1/auth/users?username=${modified_username}&newPassword=${new_password}'。确保已将${modified_username}和${new_password}替换为实际用户名和加密后的新密码。
    新增用户名密码
    通过控制台添加:在Nacos控制台的“权限控制”->“用户管理”界面,添加新用户并设置密码。
    使用运维API添加:执行POST请求添加新用户,如:curl -X POST 'http://${nacos_host}:${nacos_port}/nacos/v1/auth/users?username=${new_username}&password=${new_password}'。请先确保${new_password}已加密。
    数据库直接操作(仅限外置数据库)
    修改密码:执行SQL语句更新用户密码,如:UPDATE users SET password='${new_password}' WHERE username='${modified_username}';,确保密码已加密。
    添加用户:执行SQL插入新用户,如:INSERT INTO users (username, password, enabled) VALUES ('${new_username}', '${new_password}', TRUE);,密码需提前加密。
    注意事项
    修改内置数据库(如Derby)的用户密码不推荐,因可能导致数据不一致。
    执行API操作和直接数据库操作需确保已开启鉴权且具备管理员权限。
    对于Nacos配置中心存储的敏感信息,可考虑使用Nacos提供的配置加密插件进行加密处理。
    image.png

    参考文档https://nacos.io/en/blog/faq/nacos-user-question-history8182/?source=wuyi

    2024-07-18 09:28:50
    赞同 5 展开评论 打赏
  • 要禁止Nacos中的默认nacos用户登录,您可以按照以下步骤操作:

    修改默认密码:
    首先,您需要确保默认的nacos用户密码已被更改,以增加安全性。根据提供的信息,您可以通过运行PasswordEncoderUtil类中的主函数来生成加密后的密码。请确保将nacos替换为您想要设置的新密码,然后执行以下Java代码段获取加密密码:
    public class PasswordEncoderUtil {
    public static void main(String[] args) {
    System.out.println(new BCryptPasswordEncoder().encode("您的新密码"));
    }
    }
    运行这段代码后,您会得到一个新的加密密码,例如$2a$10$EuWPZHzz32dJN7jexM34MOeYirDdFAZm2kuWj7VEOJhhZkDrxfvUu。请记录这个加密后的密码。

    更新数据库:
    使用生成的加密密码更新Nacos数据库中的用户表。执行如下SQL语句(假设您已经获取了加密后的密码):
    INSERT INTO users (username, password, enabled) VALUES ('nacos', '您从上一步获取的加密密码', TRUE);
    INSERT INTO roles (username, role) VALUES ('nacos', 'ROLE_ADMIN');
    如果nacos用户已经存在,您应该执行更新操作而不是插入,以避免重复的用户名错误。

    禁用默认登录页面:
    为了进一步增强安全性并阻止nacos用户通过默认界面登录,您可以选择关闭Nacos的默认控制台登录功能。从Nacos 2.2.2版本开始,当鉴权开关nacos.core.auth.enabled关闭时,登录功能也会自动关闭。但如果您希望建议更彻底的方法,可以从Nacos 2.3.0版本起,直接关闭整个默认控制台,通过在${nacoshome}/conf/application.properties文件中设置nacos.console.ui.enabled=false实现。

    引导至自定义平台:
    关闭默认控制台后,Nacos允许您通过在${nacoshome}/conf/console-guide.conf中配置内容,引导用户转向您公司内部的统一管理平台。

    解释:
    这些步骤旨在通过更改默认用户的密码、更新数据库中的密码记录、关闭控制台登录功能,以及最终引导用户至自定义平台,从而有效禁止默认nacos用户的登录并提高系统的安全性。请注意,实施这些变更前应确保对现有环境进行备份,以防配置更改导致的任何意外中断。 ,此回答整理自钉群“Nacos社区群4”

    2024-07-18 09:12:36
    赞同 9 展开评论 打赏
问答分类:
问答标签:
问答地址:

为微服务建设降本增效,为微服务落地保驾护航。

相关电子书

更多
Nacos架构&原理 立即下载
workshop专场-微服务专场-开发者动手实践营-微服务-使用Nacos进行服务的动态发现和流量调度 立即下载
Nacos 启航,发布第一个版本, 云原生时代助力用户微服务平台建设 立即下载