首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用户-mapping.xml文件在guacamole中无效登录。

用户-mapping.xml文件在guacamole中无效登录。
EN

Stack Overflow用户
提问于 2015-11-03 12:22:34
回答 1查看 21.4K关注 0票数 6

最近,我正在遵循http://guac-dev.org/手册中关于Guacamole的安装说明。我的系统是Ubuntu14.04。

首先,我安装了基本所需的依赖关系:

代码语言:javascript
复制
$ apt-get install -y apache2 libcairo2-dev libjpeg62-dev libpng12-dev libossp-uuid-dev libfreerdp-dev libpango1.0-dev libssh2-1-dev libtelnet-dev libpulse-dev libssl-dev libvorbis-dev maven tomcat7
$ apt-get install -y libvncserver-dev

然后,我下载了guacamole-server-0.9.8.tar.gzguacamole-0.9.8.war,并按照手册中的说明安装了它们:

代码语言:javascript
复制
$ tar xf guacamole-server-0.9.8.tar.gz
$ cd guacamole-server-0.9.8
$ ./configure
$ make
$ make install
$ cp guacamole-0.9.8.war /var/lib/tomcat7/webapps/guacamole.war
$ mkdir /etc/guacamole

我创建了/etc/guacamole/guacamole.properties,包含以下内容:

代码语言:javascript
复制
guacd-hostname: localhost # although the guide says it should be guacd-host, but the example shown in http://guac-dev.org/doc/gug/configuring-guacamole.html is guacd-hostname
guacd-port: 4822
user-mapping: /etc/guacamole/user-mapping.xml

/etc/guacamole/user-mapping.xml包含以下内容:

代码语言:javascript
复制
<user-mapping>
    <authorize username="USERNAME" password="PASSWORD">
        <protocol>vnc</protocol>
        <param name="hostname">localhost</param>
        <param name="port">5901</param>
        <param name="password">123456</param>
    </authorize>
    <authorize username="wangx" password="wangxiang">
        <protocol>vnc</protocol>
        <param name="hostname">192.168.1.111</param>
        <param name="port">5901</param>
        <param name="password">123456</param>
    </authorize>
</user-mapping>

然后我重新启动了tomcat7和guacd:

代码语言:javascript
复制
$ /etc/init.d/tomcat7 restart
$ /etc/init.d/guacd restart

GUACAMOLE_HOME环境变量为空:

代码语言:javascript
复制
$ echo $GUACAMOLE_HOME

.guacamole目录在/home/<user>中和/var/lib/tomcat7/webapps/guacamole中都没有。当我访问http://localhost:8080/guacamole时,输入用户名"wangx“和密码"wangxiang",显示无效登录。

我怎么才能解决这个问题?我应该在哪里找到guacamole.propertiesuser-mapping.xml文件?我做错什么了吗?

感谢您的关注。

EN

回答 1

Stack Overflow用户

发布于 2015-11-04 00:47:31

根据手册中的说明: .$ mkdir /etc/guacamole

鳄梨酱不会自动从/etc/guacamole读取。它将从GUACAMOLE_HOME读取,但这不是一个环境变量-它是Guacamole配置目录的占位符,它可以通过同名的环境变量来确定,但是还有其他可能的位置。来自 description in the Guacamole manual

GUACAMOLE_HOME 默认情况下,Guacamole从自己的配置目录读取文件,只有在找不到该目录时才诉诸类路径。在定位此目录时,Guacamole将按以下顺序尝试:

  1. 在系统属性guacamole.home中指定的目录。
  2. 在环境变量GUACAMOLE_HOME中指定的目录。
  3. 目录.guacamole,位于运行servlet容器的用户的主目录中。

在文档的其他地方,这个目录将被称为GUACAMOLE_HOME

Guacamole使用GUACAMOLE_HOME作为配置文件(如guacamole.properties )的主要搜索位置。..。

您的guacamole.propertiesuser-mapping.xml看起来很好,但是Guacamole将无法找到这些文件,除非它们在GUACAMOLE_HOME中。解决这个问题的一个非常简单的方法是象征性地将Tomcat用户主目录中的.guacamole链接到/etc/guacamole。在Ubuntu上的"tomcat7“包中,Tomcat用户的主目录是/usr/share/tomcat7

代码语言:javascript
复制
$ ln -s /etc/guacamole/ /usr/share/tomcat7/.guacamole

或者,您可以创建.guacamole目录,并创建一个指向guacamole.properties的符号链接。由于user-mapping.xml的位置是在guacamole.properties中显式指定的,所以不需要将其放置在GUACAMOLE_HOME中。

代码语言:javascript
复制
$ mkdir /usr/share/tomcat7/.guacamole
$ ln -s /etc/guacamole/guacamole.properties /usr/share/tomcat7/.guacamole/

一定要在进行这些更改后重新启动Tomcat,并且应该会开始工作。

票数 12
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33499048

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档