danielhilst

HOWTO Oracle IRM + Samba + OpenLDAP

Aug 23rd, 2012
81
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 9.78 KB | None | 0 0
  1. HOWTO Oracle IRM + Samba + OpenLDAP
  2.  
  3. DADOS:
  4. IP da maquina onde foi implantado: 192.168.5.18
  5. SO: Rhel 5.5 com repositorios centos-base, epel e rpm-forge configurado
  6.  
  7. ====> ATENÇÃO!!!! <=========
  8.  
  9. - Antes de começar habilite o DEBUG, você vai precisar. Com isso voce vai poder
  10. acompanhas as buscas no servidor LDAP através do arquivo /var/log/debug.log
  11.  
  12. [root@electabuzz smbldap-tools]# grep debug /etc/syslog.conf
  13. *.debug /var/log/debug.log
  14. [root@electabuzz smbldap-tools]# /etc/init.d/syslog restart
  15.  
  16.  
  17. 1 - OpenLDAP
  18.  
  19. 1.1 - Instalar o openldap e configurar uma arvore basica com ldapadd
  20.  
  21. - Configure o arquivo /etc/openldap/slapd.conf.
  22.  
  23. => Configure o suffix e o rootdn
  24. suffix "dc=paxtecnologia,dc=com,dc=br"
  25. rootdn "cn=root,dc=paxtecnologia,dc=com,dc=br"
  26.  
  27. => Configure o rootpw com o password
  28. rootpw {SSHA}WKBpHukfrvum+Y3HTDywy/SBoUk514uM
  29.  
  30. NOTA: O SSHA é obtido através do comando slapdpasswd
  31.  
  32. => Salve o conteudo abaixo em um arquivo .ldif e execute o ldapadd para
  33. criar a arvore
  34.  
  35. ---------- INICIO DO LDIF --------------
  36. # paxtecnologia.com.br
  37. dn: dc=paxtecnologia,dc=com,dc=br
  38. dc: paxtecnologia
  39. description: Pax Tecnologia LTDA.
  40. objectClass: dcObject
  41. objectClass: organization
  42. o: paxtecnologia.com.br
  43.  
  44. # People, paxtecnologia.com.br
  45. dn: ou=People,dc=paxtecnologia,dc=com,dc=br
  46. objectClass: top
  47. objectClass: organizationalUnit
  48. ou: People
  49.  
  50. # Groups, paxtecnologia.com.br
  51. dn: ou=Groups,dc=paxtecnologia,dc=com,dc=br
  52. objectClass: top
  53. objectClass: organizationalUnit
  54. ou: Groups
  55.  
  56. # Computers, paxtecnologia.com.br
  57. dn: ou=Computers,dc=paxtecnologia,dc=com,dc=br
  58. objectClass: top
  59. objectClass: organizationalUnit
  60. ou: Computers
  61.  
  62. # Idmap, paxtecnologia.com.br
  63. dn: ou=Idmap,dc=paxtecnologia,dc=com,dc=br
  64. objectClass: top
  65. objectClass: organizationalUnit
  66. ou: Idmap
  67.  
  68. # Daniel Hilst
  69. dn: uid=daniel.hilst,ou=People,dc=paxtecnologia,dc=com,dc=br
  70. uid: daniel.hilst
  71. cn: Daniel Hilst
  72. objectClass: account
  73. objectClass: posixAccount
  74. objectClass: top
  75. objectClass: shadowAccount
  76. loginShell: /bin/bash
  77. uidNumber: 1101
  78. gidNumber: 100
  79. homeDirectory: /home/daniel.hilst
  80. gecos: Daniel Hilst
  81. -------- FIM DO LDIF ---------
  82.  
  83. - O comando para criar a arvore é
  84. # ldapadd -x -D cn=root,dc=paxtecnologia,dc=com,dc=br -w senhaRootPw -h 192.168.5.18 -p 389 -f arquivo.ldif
  85.  
  86. - A senhaRootPw é a mesma do arquivo slapd.conf
  87.  
  88. 1.1 Teste !?
  89. # /etc/init.d/ldap start
  90. # ldapsearch -x
  91.  
  92. - Voce deve receber a sua arvore :-)
  93.  
  94. 1.2 - Configurar o pam para autenticar com ldap
  95. [root@electabuzz pam.d]# grep ldap *
  96. system-auth:auth sufficient pam_ldap.so
  97. system-auth:account sufficient pam_ldap.so
  98. system-auth:password sufficient pam_ldap.so
  99. system-auth:session sufficient pam_ldap.so
  100.  
  101. - Caso os arquivos /etc/openldap/ldap.conf e /etc/ldap.conf não sejam
  102. os mesmos, remova o /etc/ldap.conf e crie um link simbolico. Esse é o arquivo
  103. é a configuração glogal dos clients LDAP. Futuramente o sbmldap-tools vai se
  104. utilizar dele.
  105.  
  106. # rm -f /etc/ldap.conf; ln -svf /etc/openldap/ldap.conf /etc/ldap.conf
  107.  
  108. - Assim é necessario mater um unico arquivo de configuração. Segue abaixo o que eu estou
  109. usando. O grep + sed serve pra remover os comentarios
  110.  
  111. # [root@electabuzz openldap]# grep -Ev '^#' ldap.conf | sed -e '/^$/d'
  112. base dc=paxtecnologia,dc=com,dc=br
  113. uri ldap:///
  114. timelimit 120
  115. bind_timelimit 120
  116. idle_timelimit 3600
  117. nss_base_passwd ou=People,dc=paxtecnologia,dc=com,dc=br
  118. nss_base_shadow ou=People,dc=paxtecnologia,dc=com,dc=br
  119. nss_base_group ou=Groups,dc=paxtecnologia,dc=com,dc=br
  120. nss_initgroups_ignoreusers root,ldap,named,avahi,haldaemon,dbus,radvd,tomcat,radiusd,news,mailman,nscd,gdm
  121.  
  122.  
  123. - Altere o /etc/nsswitch.conf também, adicionando o suporte a ldap
  124.  
  125. [root@electabuzz etc]# grep ldap nsswitch.conf
  126. passwd: files ldap
  127. shadow: files ldap
  128. group: files ldap
  129.  
  130. - Configure o password do usuário criado anteriormente com ldappasswd e teste o login do mesmo.
  131. #
  132. -bash-3.2$ su - daniel.hilst
  133. Password:
  134. su: warning: cannot change directory to /home/daniel.hilst: No such file or directory
  135. -bash-3.2$ whoami
  136. daniel.hilst
  137.  
  138.  
  139. - Se não deu certo, cheque os logs em /var/log/... Comece com messages e
  140. debug.log. Certifique-se que o LDAP está no ar.
  141.  
  142.  
  143. 2 - Samba + LDAP
  144.  
  145. NOTA: Com exceção da instalação não existe uma ordem certa para fazer os passos
  146. a seguir, o importante é que tudo tenha sido feito. Eu passei um bom tempo (uns
  147. dois dias) na sequencia, configure/restart/test. :-/. Verifique se os campos
  148. nos arquivos de configuração batem com seu LDAP.. e que não existem
  149. inconsistencias entre o smb.conf e smbldap.conf.
  150.  
  151. PREREQ: Inclua o schema do samba no arquivo de configuração do LDAP e restart o
  152. serviço:
  153.  
  154. [root@electabuzz openldap]# grep samba slapd.conf
  155. include /usr/share/doc/samba-3.0.33/LDAP/samba.schema
  156.  
  157.  
  158. 2.1 Instalação
  159.  
  160. - Com os repositorios configurados:
  161. [root@electabuzz ~]# yum install samba smbldap-tools
  162.  
  163. 2.2 Configure um samba simples
  164.  
  165. 2.2.1 Inicie o samba
  166. # /etc/init.d/smb start
  167.  
  168. - O arquivo de configuração deve ser o suficiente para subir o share homes. Use o comando smbclient
  169. para verificar que o samba está funcionando. Ex.
  170.  
  171. # smbclient -L localhost
  172.  
  173. 2.2.2
  174.  
  175.  
  176. 2.2.3 Configure o samba /etc/samba/smb.conf
  177. [global]
  178. workgroup = WORKGROUP
  179. server string = Samba Server Version %v at %h
  180. security = user
  181.  
  182. passdb backend = ldapsam:ldap:///
  183. ldap admin dn = cn=root,dc=paxtecnologia,dc=com,dc=br
  184. ldap suffix = dc=paxtecnologia,dc=com,dc=br
  185. ldap group suffix = ou=Groups
  186. ldap user suffix = ou=People
  187. ldap machine suffix = ou=Machines
  188. ldap idmap suffix = ou=Idmap
  189.  
  190. cups options = raw
  191. guest account = nobody
  192. map to guest = bad user
  193.  
  194. passwd program=/usr/bin/passwd %u
  195. passwd chat = *New*password* %n *Retype*new*password* %n
  196. ;#*passwd:*all*authentication*tokens*updated*successfully*
  197. socket options = TCP_NODELAY IPTOS_LOWDELAY SO_RCVBUF=8192 SO_SNDBUF=8192
  198.  
  199. add machine script = /usr/sbin/smbldap-useradd -w "%u"
  200. add user script = /usr/sbin/smbldap-useradd -m "%u"
  201. delete user script = /usr/sbin/smbldap-userdel "%u"
  202. add machine script = /usr/sbin/smbldap-useradd -w "%u"
  203. add group script = /usr/sbin/smbldap-groupadd -p "%g"
  204. delete group script = /usr/sbin/smbldap-groupdel "%g"
  205. add user to group script = /usr/sbin/smbldap-groupmod -m "%u" "%g"
  206. delete user from group script = /usr/sbin/smbldap-groupmod -x "%u" "%g"
  207. set primary group script = /usr/sbin/smbldap-usermod -g "%g" "%u"
  208.  
  209.  
  210. - As linhas `ldap ... ' e `passdb backend' são as mais importantes
  211.  
  212. 2.3 Configure o smbldap-tools, popule o samba, crie um share nao publico e teste, teste, teste...
  213. - Isso é feitos através dos arquivos
  214.  
  215. => /etc/ldap.conf Que deve ser um link para /etc/openldap/ldap.conf
  216. => /etc/smbldap-tools/smbldap.conf
  217. => /etc/smbldap-tools/smbldap_bind.conf
  218.  
  219.  
  220. 2.3.1 Popule o ldap com as entradas de Samba
  221. # smbldap-populate
  222.  
  223. 2.3.2 Add um usuario samba no ldap
  224. # smbldap-useradd -a jonas.zanon
  225. # smbldap-password jonas.zanon
  226. digite a senha!? :P
  227.  
  228. 2.3.3 Crie um share, ex:
  229.  
  230. [arquivos]
  231. comment = Arquivos
  232. path = /arquivos
  233. valid users = jonas.zanon
  234. public = no
  235. browseable = yes
  236. writable = yes
  237. guest ok = no
  238.  
  239. 2.3.3.1 Teste o share
  240.  
  241. # mount -t cifs -o user=jonas.zanon,password=senha123 //192.168.5.18/arquivos /mnt/share
  242.  
  243. - Se voce conseguiu montar é pq o Samba + LDAP funciona :^). Caso o constrario confira o arquivo /var/log/debug.log
  244. Eu tive que recriar a arvore ldap varias vezes até tudo ficar redondo. Ainda restam duvidas de como esse troço funciona.
  245.  
  246. 2.4 Crie os shares e usuarios definitivos
  247.  
  248. - Eu criei dois grupos um admin e outro nao admin e criei os seguite share
  249. [middleware]
  250. comment = Middleware
  251. path = /home/middleware
  252. browseable = yes
  253. read only = yes
  254. valid users @middleware
  255. write list = @middleadm
  256.  
  257. - Com isso os usuários do grupo middleadm podem escrever no share. E os usuários
  258. do grupo middleware só podem ler.
  259.  
  260. 3 - Oracle IRM
  261.  
  262. ROADMAP:
  263. -> Instale JROCKIT
  264. -> Instale WLS 1035
  265. -> Instale Oracle IRM
  266. -> Rode RCU
  267. -> Nos squemas expanda Webcenter Content e escolha Oracle Information Rights Management.
  268. -> Crie o Dominio
  269. -> Na tela dos produtos selecione somente Oracle Information Riths Management
  270. -> NÃO LOGUE NO irm_rights com usuário do weblogic. Se você fizer
  271. isso terá que criar o dominio denovo, ou fazer a migração do IRM para o LDAP, vc não quer isso.
  272. -> Configure o nodemanager.properties StartScriptEnabled=true
  273. -> Siga os passos http://docs.oracle.com/cd/E23943_01/doc.1111/e14495/configirm.htm#CFHFGJJJ
  274. para configurar os keystores, a url do server etc.
  275. -> Suba o Admin..
  276. -> Configure as chatisses de SSL do Nodemanager e restart o AdminServer
  277. -> Configure um External Provider, o seu servidor LDAP (Isso está na documentação acima)
  278. -> Tive que configurar os campos abaixo para que os grupos aparecessem no Weblogic.
  279. -> Group From Name Filter: (&(cn=%g)(objectclass=posixGroup))
  280. -> Static Group Object Class: posixGroup
  281. -> Static Member DN Attribute: memberUid
  282. -> Static Group DNs from Member DN Filter: (&(member=%M)(objectclass=posixGroup)
  283. -> Suba o IRM_server1 caso esteja DOWN
  284. -> Logue-se com um usuário do LDAP no IRM, http://192.168.5.18:16100/irm_rights. Esse usuário
  285. passa a ser o administrador do IRM Server.
  286. -> Crie e instale um novo certificado para o IRM_server1, o Windows não aceita o certificado padrão..
  287.  
  288. 4. Cont...
Advertisement
Add Comment
Please, Sign In to add comment