yearning集成进freeIPA进行统一认证

接上上一篇,Freeipa接完confluence,接下来是接入数据库上线软件Yearning. 先下结论:同样存在先有 Yearning 账户、然后才有的 FreeIPA LDAP 目录,这次要命了,因为 Yearning 不支持 LDAP 认证方式用户与已有用户进行合并!所以,等于ldap新建了一个用户,跟老用户的邮箱一模一样,但是是个 Newbee,没有权限,需要重新赋权。比较麻烦!希望之后能pr修改一下!!!! 连接属性如下: ldap地址:freeipa.bybon.cn:389 LDAP管理员DN:uid=manager,cn=users,cn=accounts,dc=bybon,dc=cn LDAP管理员密码:xxxxxx LDAP_Search Filter:(&(objectclass=inetorgperson)(memberOf=cn=confluence-users,cn=groups,cn=accounts,dc=bybon,dc=cn)(uid=%s)) LDAP_SCBASE:cn=users,cn=accounts,dc=bybon,dc=cn LDAP用户属性:{ "real_name": "displayName", "email": "mail", "department": "技术中心" } 解释一下: LDAP_Search Filter 指搜索用户时所用的filter,这里偷了个懒,按道理应该是独立建一个组yearning-users,懒得干了,复用confluence-users好了。admin组更懒得建,必须用freeipa的admins组 LDAP_SCBASE 指搜索用户的BASE DN LDAP用户属性指yearning中的属性与ldap属性之间的映射关系,department是没有对应的,也没有人会没事干建一个去吧。 截图如下:

2023年02月28日 · 1 分钟 · 36 字 · 八戒

kubernetes中用户rbac的建立

k8s里面建立一个用户,然后给特定权限,再做rolebinding的过程,给个标准的建立jenkins-admin的用户的过程: 简单来说,三步,ServiceAccout –> Role –> Rolebinding apiVersion: v1 kind: ServiceAccount metadata: name: jenkins-admin namespace: devops-tools --- apiVersion: rbac.authorization.k8s.io/v1 kind: Role metadata: name: jenkins namespace: default labels: "app.kubernetes.io/name": 'jenkins' rules: - apiGroups: [""] resources: ["pods"] verbs: ["create","delete","get","list","patch","update","watch"] - apiGroups: [""] resources: ["pods/exec"] verbs: ["create","delete","get","list","patch","update","watch"] - apiGroups: [""] resources: ["pods/log"] verbs: ["get","list","watch"] - apiGroups: [""] resources: ["secrets"] verbs: ["get"] --- apiVersion: rbac.authorization.k8s.io/v1 kind: RoleBinding metadata: name: jenkins-role-binding namespace: default roleRef: apiGroup: rbac.authorization.k8s.io kind: Role name: jenkins subjects: - kind: ServiceAccount name: jenkins-admin namespace: default 资源的链接:https://kubernetes.io/zh-cn/docs/reference/access-authn-authz/rbac/ ...

2023年02月22日 · 1 分钟 · 83 字 · 八戒

Gitlab集成进freeIPA进行统一认证

接上一篇,Freeipa接完confluence,接下来是接入Gitlab. 先下结论:同样道理,也是存在先有 Gitlab 账户、然后才有的 FreeIPA LDAP 目录,这也不要紧,因为 Gitlab 同样支持 LDAP 认证方式的用户与现有用户进行合并。 举个例子,如果我已经在 Gitlab 中创建了用户名为 zhangranrui、邮箱为 zhangranrui@rendoumi.com 的用户,那么我在 LDAP 目录中只需要把 mail 字段也写成 zhangranrui@rendoumi.com 即可被 Gitlab 识别成同一用户。或者说,我们可以在 Gitlab 中增加 LDAP 目录中的 mail 字段的邮箱(Gitlab 支持同一用户绑定多个邮箱),这样在 Gitlab 中使用 LDAP 认证的时候也会被视为同一用户。跟 Confluence 是一模一样的。 注意:这样改了之后,无论登录或是拉取代码,就只能使用LDAP的账号密码,不能使用旧的 GitLab Standard 的账号。 我们的 Gitlab 版本比价老11.1.0,所以改的是 gitlab.yml ldap: enabled: true servers: main: # 'main' is the GitLab 'provider ID' of this LDAP server label: 'LDAP' host: 'freeipa.bybon.cn' port: 389 uid: 'uid' encryption: 'plain' # "start_tls" or "simple_tls" or "plain" verify_certificates: false ca_file: '' ssl_version: '' bind_dn: 'uid=admin,cn=users,cn=accounts,dc=bybon,dc=cn' password: 'xxxxxx' timeout: 10 active_directory: false allow_username_or_email_login: false block_auto_created_users: false base: 'dc=bybon,dc=cn' user_filter: '(&(objectclass=inetorgperson)(memberOf=cn=gitlab-users,cn=groups,cn=accounts,dc=bybon,dc=cn))' attributes: username: ['uid'] email: ['mail'] name: 'displayName' first_name: 'givenName' last_name: 'sn' lowercase_usernames: false 新版本的话,按字段比较即可。注意上面,我是提前建立了一个 gitlab-users 的组,把用户先都放进组里,这样方便管理。 ...

2023年02月17日 · 1 分钟 · 116 字 · 八戒

Confluence集成进freeIPA进行统一认证

公司决定用统一用户管理系统,那必然是微软的 AD 和开源的 LDAP 二选一了 自然用 Freeipa 作为首选。 花时间仔细调研了一下,先说结论: 如果 confluence 已经有很多用户,那么对不起,这些用户的密码都必须通知到个人,强制进行修改,旧有的密码完全无法导出(除非一个一个人问出来)。 confluence 实际上是用了一个内置的目录软件来管理用户的,用户唯一存在的凭据就是邮箱。 confluence 支持同时从多个目录树中按照顺序来查询用户,查询到的结果会合并。举例来说,排第一的目录树是freeipa,排第二位的目录树是内置目录,两个目录树都有一个用户,两条记录的邮件是一致的,那么会在排第一的 freeipa 树中认证用户,但会把两个目录树中用户的信息拼接合并起来总体返回。 这样就明白了把,我们只用第一个 freeipa 目录树来认证用户,原有的组权限还是用第二个内置目录树中的信息,保持两棵树中用户的 mail 保持一致即可,步骤如下。 我们首先要提前在freeIPA里面建立两个组: confluence-administrators confluence-users 然后跑到 Confluence 里,用户目录,添加一个 freeipa 的目录服务放在前面 详细配置的参数如下: 配置如下: Server Settings: - Namel: freeipa - Directory Type: OpenLDAP - Server: example.com - Port: 389 - Use SLL: false - Username: uid=admin,cn=users,cn=accounts,dc=bybon,dc=cn - Password: <insert password here> LDAP Schema: - Base DN: dc=bybon,dc=cn - Additional User DN: cn=users,cn=accounts - Additional Group DN:cn=groups,cn=accounts LDAP Permissions: Select Read/Write Advanced Settings: Default User Schema Settings - User Object Class: inetorgperson - User Object Filter: (&(objectclass=inetorgperson)(memberOf=cn=confluence-users,cn=groups,cn=accounts,dc=bybon,dc=cn)) - User Name Attribute: uid - User Name RDN Attribute: uid - User First Name Attribute: giveName - User Last Name Attribute: sn - User Display Name Attribute: displayName - User Email Attribute: mail - User Password Attribute: userPassword - User Password Encryption: SHA - User Unique ID Attribute: uid Group Schema Settings - Group Object Class: groupofnames # all lowercase - Group Object Filter: (objectclass=groupofnames) # all lowercase - Group Name Attribute: cn - Group Description Attribute: description Membership Schema Settings - Group Members Attribute: member #lowercase - User Membership Attribute:memberOf 放全中文的图如下: ...

2023年02月16日 · 2 分钟 · 228 字 · 八戒

traefik自动签发并续费证书+端口转发

nginx和traefik都可以做ingress,在入口处做证书的卸载,并转发tcp、udp、https、http流量 nginx是比较通常的做法,traefik配置比较简单,尤其是配置自动续签的证书 wget https://github.com/traefik/traefik/releases/download/v2.4.8/traefik_v2.4.8_linux_amd64.tar.gz 解压释放出来traefik文件,建立目录/export/servers/traefik 结构如下: traefik.yml log: level: DEBUG api: insecure: false dashboard: true entryPoints: http: address: ":80" #http: # redirections: # entryPoint: # to: https # scheme: https https: address: ":443" certificatesResolvers: letsEncrypt: acme: storage: /export/servers/traefik/acme.json email: zhangranrui@rendoumi.com tlsChallenge: {} httpChallenge: entryPoint: http providers: file: directory: /export/servers/traefik/dynamic watch: true 上面我们定义了log的level为DEBUG,并且开放了dashboard 定义了2个入口,http和https,可以直接用中间件强制http跳转https 然后定义了letsEncrypt的证书机构 最后定义了动态监控 /export/servers/traefik/dynamic 目录,如果下面有增加文件会自动更新配置。 然后再dynamic目录下定义转发routes 注意命名文件,test7是域名,01是序列号,文件内容中svc的序列号最好跟文件名一致,如果多文件重复会导致配置不可用!!! test7-01.yml http: routers: https_01: rule: "Host(`test7.ddky.com`)" service: svc_01 tls: certresolver: letsEncrypt http: rule: "Host(`test7.ddky.com`)" service: svc_01 entryPoints: - http services: svc_01: loadBalancer: servers: - url: "http://172.16.8.1:80" test8-02.yml ...

2023年01月31日 · 1 分钟 · 139 字 · 八戒

运维方案之canal数据库同步

普遍的大数据抽数的方式都是从散落在各个地方的 MySQL 数据库中开账号,然后把数据同步过来。 这不,大数据的同事提出了一个需求,想把某个库中的某个表的数据单独同步到大数据的统一库中的某个表中。 研究了一个星期,canal 的配置对运维来说非常的不友好,除非用它那个 admin 的 dashboard,但是运维通常是 cli 界面,谁没事装个 dashboard 来配置呢,太 low 了。 用的是 canal 1.1.5 的版本,不能升级,升级后 java 不对了。还没有到用 1.1.6 的时候! 背景: 源数据库:10.8.2.12 库:xxl_job 表:demotable666 目的数据库:10.8.2.17 库:xxl_job_bak 表:demotable666 而且不用任何的Zookeeper、Kafka、RabbitMQ的中间件,越简洁越好。 一、安装canal wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.deployer-1.1.5.tar.gz wget https://github.com/alibaba/canal/releases/download/canal-1.1.5/canal.adapter-1.1.5.tar.gz #都装到 /app 目录下 mkdir /app mkdir /app/deploy mkdir /app/adapter cd /app/deploy tar zxvf canal.deployer-1.1.5.tar.gz cd /app/adapter tar zxvf canal.adapter-1.1.5.tar.gz 二、MySQL源准备 # /etc/my.cnf 加入以下几项并重启 [mysqld] log-bin=mysql-bin # Start log bin. binlog_format=ROW # Log format. server-id=1 # Server id,different from slave. 授权binlog同步: ...

2023年01月15日 · 3 分钟 · 444 字 · 八戒

seafile配搭onlyoffice的安装

之前公司一直用的是 seafile 来保存文档,非常好用,也出过一次大事,一个离职的员工清空电脑,然后直接把sefaile文件夹也同步清空了,好在有版本,最后找了回来。 换到新公司,财务也提了共享云盘的要求,还要求能多人同时在线编辑。 那就试着搭建 seafile + onlyoffice 了,同时要求提高安全性,在网上搜索了一圈,没几个对的,尤其是对https这一块,花了2天时间搭建,记录一下整个过程: 一、下载seafile: 没有选定高版本的,最新版本的变化太多,缺省全部都安装到 /app 目录下 wget https://download.seadrive.org/seafile-server_7.0.0_x86-64.tar.gz tar zxvf seafile-server_7.0.0_x86-64.tar.gz mkdir /app mv seafile-server-7.0.0 /app 二、设定CentOS7 依然活在 CentOS 7.10 的时代,再往上升级,要升到 rokey linux 了 提醒:seafile 的安装根据版本不同,yum 装的东西也不尽然相同的,要去官方文档看 yum install python python-setuptools MySQL-python python-urllib3 python-ldap -y 三、安装MySQL数据库 这个就仁者见仁、智者见智了,我现在的方式都是二进制装,选用的是 mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz 安装的, tar zxvf mysql-5.6.51-linux-glibc2.12-x86_64.tar.gz mv mysql-5.6.51-linux-glibc2.12-x86_64 /app yum -y install autoconf libaio* cat<<EOF>/etc/my.cnf [mysql] # 设置mysql客户端默认字符集 default-character-set=utf8 socket=/tmp/mysql.sock [mysqld] skip-name-resolve #设置3306端口 port = 3306 socket=/tmp/mysql.sock # 设置mysql的安装目录 basedir=/app/mysql-5.6.51-linux-glibc2.12-x86_64/ # 设置mysql数据库的数据的存放目录 datadir=/app/mysql-5.6.51-linux-glibc2.12-x86_64/data # 允许最大连接数 max_connections=200 # 服务端使用的字符集默认为8比特编码的latin1字符集 character-set-server=utf8 # 创建新表时将使用的默认存储引擎 default-storage-engine=INNODB #lower_case_table_name=1 max_allowed_packet=16M sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES EOF groupadd -g mysql useradd -g mysql mysql # 初始化DB cd /app/mysql-5.6.51-linux-glibc2.12-x86_64/ /app/mysql-5.6.51-linux-glibc2.12-x86_64/scripts/mysql_install_db --user=mysql #建立 /etc/init.d/mysql 的软链接 mysql -> /app/mysql-5.6.51/support-files/mysql.server #启动 /etc/init.d/mysql start # 安全设置DB cd /app/mysql-5.6.51-linux-glibc2.12-x86_64/ /app/mysql-5.6.51-linux-glibc2.12-x86_64/bin/mysql_secure_installation 四、准备onlyoffice 这里有大坑啊,其实onlyoffice的版本万万不能用最新的,因为JWT的Token认证 ...

2023年01月15日 · 3 分钟 · 502 字 · 八戒

cka的模拟试题

刚通过了CKA的考试,拿到了证书。 说老实话,想考这个必须翻墙啊,在考试的时候正好是新冠的第三天,烧得正厉害。 然后考试的过程真是一波三折,PSI 足足重新认证了三次,浪费40分钟。 最后都感觉要完蛋了,只剩下不到10分钟检查,结果还不错,考了90分。 有第一次考的可以联系我,我给你说一些必须注意的事项。 然后 CKA 有一个模拟考试,36小时时间,实际考试的环境跟模拟的完全不一样啊。 但是模拟如果你能过,那考试你一定能过,模拟的难度不低,相当高。 这就把模拟的题给放出来,供大家参考,非常有参考价值。 大家可以学到很多东西。 文件下载:cka.html 单html文件

2023年01月12日 · 1 分钟 · 14 字 · 八戒

xshell的绿色配色方案

其实一直用的终端软件是terminus,全终端可用,以前用 ubuntu,非常好用。 现在换到新公司,用 Win10,也装了一个。 一直到机房改造前,还都觉得行,但是机房改造需要收回核心交换机、路由器的权限,开终端 console 居然要收费会员,没办法,找老刘换回了免费的xshell 7。 xshell的配色实在是受不了,还是喜欢绿色的字符界面。 备份一个绿色的方案: [mycolor] text(bold)=e9e9e9 magenta(bold)=ff00ff text=00ff80 white(bold)=fdf6e3 green=80ff00 red(bold)=ff0000 green(bold)=3c5a38 black(bold)=808080 red=ff4500 blue=00bfff black=000000 blue(bold)=1e90ff yellow(bold)=ffff00 cyan(bold)=00ffff yellow=c0c000 magenta=c000c0 background=042028 white=c0c0c0 cyan=00c0c0 [Names] count=1 name0=mycolor 保存成 mycolor.xcs 文件,然后工具–> 配色方案,导入即可: 整体效果还是比较好的。 是自己喜欢的样子,当然,字体从9也增加到了12。

2023年01月12日 · 1 分钟 · 39 字 · 八戒

2022年获得的证书

2022年经过努力,考了4张证书,2023年继续努力奋斗…… 阿里云的ACP证书: AWS的SAA-C03证书: K8S的CKA证书: K8S的CKS证书:

2023年01月03日 · 1 分钟 · 5 字 · 八戒