He instalado cntlm en osx usando la fórmula homebrew .
Luego copié el archivo .plist y comencé el demonio:
sudo cp -fv /usr/local/opt/cntlm/*.plist /Library/LaunchDaemons
sudo chown root /Library/LaunchDaemons/homebrew.mxcl.cntlm.plist
Pero después del reinicio, el demonio no se está ejecutando. He intentado ejecutarlo manualmente con
sudo launchctl load /Library/LaunchDaemons/homebrew.mxcl.cntlm.plist
pero su salida es
/Library/LaunchDaemons/homebrew.mxcl.cntlm.plist: Operation already in progress
También he comprobado el archivo plist con plutil -lint
y está bien.
Esta es la fuente de /Library/LaunchDaemons/homebrew.mxcl.cntlm.plist
:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>homebrew.mxcl.cntlm</string>
<key>ProgramArguments</key>
<array>
<string>/usr/local/opt/cntlm/bin/cntlm</string>
</array>
<key>KeepAlive</key>
<false/>
<key>RunAtLoad</key>
<true/>
<key>StandardOutPath</key>
<string>/var/null</string>
<key>StandardErrorPath</key>
<string>/var/null</string>
</dict>
</plist>
¿Sabes por qué sucede esto y cómo ejecutarlo correctamente como demonio?
system.log
con Console.app para ver los mensajes?launchd
normalmente es bueno para registrar errores útiles y advertencias sobre por qué un trabajo no se está ejecutando. ¿Ves el trabajo registrado como iniciado?ps aux
si cntlm se está ejecutando, pero no existe ningún proceso. Ver también github.com/Homebrew/homebrew/issues/44741~/Library/LaunchAgents
y cambie Salida y error para~/Library/Logs/a_log_file_appropriate
que pueda obtener alguna información en lugar de nula.Respuestas:
Revisé la información de homebrew y dice lo siguiente:
Editar
/usr/local/etc/cntlm.conf
para configurar CntlmPara iniciar, inicie cntlm ahora y reinicie al inicio:
sudo brew services start cntln
Si no ha hecho esto, ese debería ser su primer paso.
Además, no creo que
/Library/LaunchDaemons
sea un lugar apropiado para el archivo plist. Una mejor ubicación en mi opinión sería~/Library/LaunchAgents
que se ejecute al iniciar sesión el usuario. Esta es una preferencia personal para determinar cuándo y para qué usuarios del sistema desea que se ejecute el software. Es importante saber esto cuando intente depurar su sistema si algo falla o impide que otras operaciones del sistema se ejecuten correctamente.Tampoco creo que ese archivo plist se vaya a ejecutar para empezar. Pruebe mi sugerencia de ubicación con el siguiente código de archivo plist a continuación. Tiene salida de error adecuado para el registro para que pueda ver lo que está pasando ubicada en
$HOME/Library/Logs/cntlm-output.log
y$HOME/Library/Logs/cntlm-error.log
Para obtener más información sobre los trabajos de inicio Launchd, consulte la documentación del desarrollador de Apple aquí: Creación de Daemons y agentes de lanzamiento
fuente
Estoy publicando esto como una respuesta separada ya que no tuve que jugar con ningún
plist
archivo para que esto funcione. Así es como instalé y comencé CNTLM hoy:Instalar CNTLM con Homebrew
Editar configuración CNTLM
Edite el
/usr/local/etc/cntlm.conf
archivo, actualice los siguientes elementos:Username
: El nombre de usuario para autenticarse con su proxy NTLMDomain
: Establece el dominio (si es necesario)Password
: Su contraseña en texto sin formato; solo es necesaria para la prueba, elimínela más tarde ...Proxy
: Su nombre de host proxy / IP y puerto (puede usar varias líneas)NoProxy
: Agregue cualquier host que no necesite ser proxyActualizar autenticación
Ejecute lo siguiente para permitir que CNTLM descubra qué autenticación significa trabajar con su proxy:
Esto escupirá información como esta, copie esto en su
cntlm.conf
archivo:Luego, encripte su contraseña:
Ingrese la contraseña de su cuenta cuando se le solicite. Este comando luego imprimirá algo como lo siguiente (algunas líneas son las mismas que las del comando anterior): copie esto en su
cntlm.conf
archivo:Elimine su contraseña de texto sin formato del archivo ahora y comente la
Password
línea.Tendrá que volver a ejecutar
cntlm -H
si cambia su contraseña.Ejecute CNTLM como un servicio macOS
Existen varias opciones para esto, elija la que más le guste:
Se
brew services
puede encontrar más información sobre en la documentación oficial .fuente
Llegué a este problema hace un momento. Lo siguiente se puso en
cntlm
marcha para mí.Esto es solo una solución alternativa, me temo (al menos para mí). El problema se repite en cada reinicio.
fuente