CNTLM 不适用于 CentOS 7

Ant*_*nto 6 cntlm centos-7

CNTLM RPM 已正确安装。该服务已配置并且运行良好:

[user@centos~]$ sudo service cntlmd status
Checking for CNTLM Authentication Proxy: ? cntlmd.service - LSB: start/stop the cntlm proxy
   Loaded: loaded (/etc/rc.d/init.d/cntlmd)
   Active: active (running) since Wed 2016-09-07 13:14:45 BST; 2min 53s ago
Run Code Online (Sandbox Code Playgroud)

但是我没有任何网络连接:yum 和 curl 都失败并显示相同的消息:

Failed connect to localhost:3128; Connection refused
Run Code Online (Sandbox Code Playgroud)

有更多信息journalctl

Sep 07 13:09:47 centos cntlm[6283]: Starting cntlm version 0.92.3 for LITTLE endian
Sep 07 13:09:47 centos cntlm[6283]: Proxy listening on 0.0.0.0:3128
Sep 07 13:09:47 centos cntlm[6283]: Workstation name used: centos
Sep 07 13:09:47 centos cntlm[6283]: Using following NTLM hashes: NTLMv2(1) NT(0) LM(0)
Sep 07 13:09:47 centos cntlm[6284]: Daemon ready
Sep 07 13:09:47 centos cntlm[6284]: Changing uid:gid to 987:982 - Success
Sep 07 13:09:47 centos cntlm[6284]: Error creating a new PID file
Sep 07 13:09:47 centos cntlmd[6275]: Starting CNTLM Authentication Proxy: [  OK  ]
Run Code Online (Sandbox Code Playgroud)

所以显然 cntlm 无法创建它的 pid 文件......我能做什么?

Ant*_*nto 10

这个centos.org 的帖子救了我。解决方案很简单,就是让 cntlm 创建它的 pid 文件:

$ mkdir /var/run/cntlm
$ chgrp cntlm /var/run/cntlm/
$ chmod g+w /var/run/cntlm/
$ service cntlmd restart
Run Code Online (Sandbox Code Playgroud)