总算信了那句跳出一个老坑,步入一个新坑。入职新公司后总有一些奇葩问题需要你来解决。
jira internal directory convert to ldap
这个 我 google 百度 了好几遍。
总的来说操作步骤很简单 update cwd_user set directory_id=10000 ,因为 jira 默认的ldap 目录都是10000 假如说你只接入一个ldap 认知服务系统。
更有良心大神 告诉你 这个操作完成要看人品,不一定没有问题。信了你的邪。根本不是看人品好不。首先要分析你们的组织架构。
原理如下 默认 ldap 映射过来的用户有一个默认组如下图
只读表示 无法对ldap 映射过来的用户进行组修改。只读本地组可以理解为单向的可修改,及jira中可以修改ldap 映射的成员的分组,但是这个修改不会级联到ldap。读写模式就是双向操作 危险误点。
如果你的ldap 只是一个简单的认证服务系统,没有复杂的分组概念,且分组本来集成在应用本身就更为合适。那这样的话你听从大神指示擅自 set directory_id=10000 我去,jira 权限组崩塌。你可以收拾收拾撤了。你应该动动脑子这样处理:
1. 导出ldap 用户列表,细心提出 包含多组的成员名单。得到名单 user_temp 很重要
2.将 jira confluence 停机 ,创建表 user_temp 并将 名单导入。会用NVcat 的同学尽量用工具导入
load data infile '/var/lib/mysql-files/user_temp' into table user_temp fields terminated by ',' optionally enclosed by '"' escaped by '"' lines terminated by ' ';
3. 进行用户修改并启动 jira confluence
update cwd_user set directory_id=10000 where active =1 and user_name in (select * from user_temp) ;
ldap 新建用户测试 jira 和 confluence 功能是否可用。观察改动前和改动后分组是否一致。
no problem !!! congratulations