-
Notifications
You must be signed in to change notification settings - Fork 3
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
No se apagan o reinician los equipos con la MAX9 #25
Comments
Este problema quizás tenga más que ver con la configuración de MAX que con el max-control. Para unir un equipo al LDAP he seguido el procedimiento que tiene zentyal: El paquete "mktutil" que viene por defecto con Ubuntu tiene un bug y falla, en vez de ese utilizo la versión "msktutil_1.0-1_amd64.deb" que funciona perfectamente. Adjunto dicho paquete y el script que utilizo para unirlo al dominio donde configura algunas cosas. No he conseguido integrar las carpetas del usuario(Escritorio, Documentos, Imágenes, etc.) con las de Windows, de momento sólo se monta en "z" la home del usuario para que pueda acceder a su perfil móvil. Uno de los problemas es que Windows crea las carpetas con nombre inglés(aunque en su interfaz salen en español) pero MAX crea los nombres en español y por eso no se solapan y cuando he conseguido solaparlas pasaban cosas raras como que no se veía bien su icono y no se tenía acceso. Al principio creía que era por esto por lo que no hacía caso a los comandos de apagado pero no, cuando falla la caché lo que se obtiene es un error de permiso denegado por lo que hay otro problema añadido que quizas sea de permisos o de seguridad. Por lo que he visto en /var/log/syslog parece que se recibe la señal de reinicio o apagado pero luego es como si se cancelara. |
Esa forma de unir equipos al dominio no es la soportada por el panel max-control. En MAX 8.0 y 9.0 hay un paquete max-domain (no confundir con el antiguo max-ldap) que es un interfaz gráfico a muchas de esas cosas que haces en tu script y que usa "likewise-open" para unir el equipo al dominio. Otro de los scripts que tiene es: https://github.com/max-linux/max-desktop/blob/master/max-domain/max-control que lo que hace es recibir las órdenes remotas de reinicio, apagado,montar una ISO, etc... Veo que likewise-open (después de recompilarlo) si registra la máquina en el dominio pero no se ven los usuarios. Tendré que mezclar tu script con el mío en el paquete max-domain. |
Bueno he descubierto una posible solución. El culpable de que hayan dejado de funcionar los comandos parece ser que es el systemd, ya que ahora el poweroff y el reboot realmente son enlaces symbolicos a systemctl y ya no funcionan como antes, por ejemplo el poweroff no admite el parametro de tiempo. Para apagar la máquina con IP 172.20.11.51 ejecuto desde otro equipo "ssh max-control@172.20.11.51 poweroff", y obtengo:
Si añado "sudo" al poweroff: ssh max-control@172.20.11.51 sudo poweroff De las soluciones que he buscado la que me ha funcionado ha sido la siguiente. Si configuro el sudo para que no pida contraseña al usuario max-control creando el fichero /etc/sudoers.d/max-control con el contenido: Con este último cambio se pierde la posibilidad de apagar a los X segundos, pero es que el poweroff ya no deja pasar un tiempo, lo único que se me ocurre sería utilizar "shutdown" pero el mínimo tiempo que permite es 1 minuto. |
Si vuelves a ver el archivo que ya te he enlazado antes: https://github.com/max-linux/max-desktop/blob/master/max-domain/max-control ... Veras que se hace un sleep antes de un reboot o poweroff. Si no quieres instalar max-domain porque prefieres tu archivo, copia este y dale permisos en sudo para que se ejecute sin contraseña. Este script también es el que monta las ISOS. |
Ahora que recalcas ese script entiendo mejor el "winexe.class.php", estaba interpretando "max-control" como nombre de usuario pero ya veo que hace referencia a este script. El caso es que la instalación de "max-domain" me ha dado algún problemilla. Al instalarlo y reiniciar el equipo ya no carga la MAX9, ni siquiera se llegan a activar las consolas auxiliares para poder iniciar una sesión. Finalmente he descubierto que el culpable era el fichero "/etc/lighdhtml.com" que se crea al instalar "max-domain", al eliminarlo todo volvió a la normalidad. También he visto que el script "/usr/bin/max-control" utiliza la orden "ck-history" del paquete "consolekit". Este paquete no esta instalado por defecto en MAX9. De todas formas veo que se utiliza ck-history para obtener una lista de usuarios para enviarles un mensaje, pero estos tampoco aparecen. Aún así una vez instalado consolekit el apagado sigue sin funcionar, al ejecutar la orden por ssh obtengo:
Esta vez creando el fichero /etc/sudoers.d/max-control con el siguiente contenido, tampoco funciona: Si en vez de para el usuario "max-control" configuro el sudoers para el usuario local "consejería", entonces sí funciona:
Aunque salen esos mensajes el equipo se apaga. Creo que no pilla el usuario "max-control" por que es un usuario del ldap y hay que ponerle alguna coletilla como "iit.lan\max-control" o algo así en el fichero de sudoers, pero no me ha funcionado con las que he probado X-( Mi script tiene la ventaja de que lo puedo ejecutar por ssh al ser todo comandos de consola, estaría bien que "max-domain" tuviera esa posibilidad pero "max-domain" es mas fácil para los usuarios finales, así que en cuanto pueda también lo probaré para unir un equipo al dominio y te voy comentando. |
A pesar de que compruebo que puedo hacer login con el usuario max-control, la orden de apagar o reiniciar un equipo no funciona. Esto es lo que me muestra el debug:
Equipo 'PROFESOR20' apagado.
CONSOLA DE DEPURACIÓN
Acción poweroff en equipo 'PROFESOR20' [88:d7:f6:7a:0c:54] tiempo: 0.0096979141235352
COMPUTER:action(poweroff) mac=88:d7:f6:7a:0c:54 uid=PROFESOR20
COMPUTER:action(poweroff) method exists
WINEXE:getIpAddress(PROFESOR20) cmd='net lookup PROFESOR20.iit.lan'
WINEXE:getIpAddress(PROFESOR20)=172.20.10.20
is_alive()172.20.10.20
is_live(172.20.10.20) host is alive, time: 0.048306941986084
is_alive()172.20.10.20
is_live(172.20.10.20) host is alive, time: 0.049829959869385
isLinux(172.20.10.20):port open, time: 0.050092935562134
WINEXE:linuxexe() cmd='sudo max-control poweroff 20'
WINEXE:linuxexe(172.20.10.20) cmd='sudo max-control poweroff 20'
Finalizadas acciones tiempo: 0.51906514167786
Session cache=120000
Memory limit=128M
VERSION=5.0~max8
QUERY_STRING=
debug_array() from=index.php POST
debug_array() from=index.php GET
index.php GET key=module value=power
index.php GET key=action value=docomputer
index.php GET key=subaction value=poweroff
index.php GET key=args value=PROFESOR20
Tiempo de ejecución: 0.51916599273682
The text was updated successfully, but these errors were encountered: