CRM系统|加入收藏|小博客
18560384436
>> 返回 您当前所在位置:首页 >> 支持中心 >> 详细内容

给 Xen 安装 Xen Shell 控制面板

更新时间:2014-11-04 07:44:26点击次数:4312次字号:T|T
安装完 Xen 后可能需要安装一个控制面板方便用户自己操作虚拟机(VPS)。可以在网上找到一些 Xen 的开源控制面板,有的是基于 Web 的,不过大多数 Xen 控制面板都不完善也不好用,有的还有漏洞,比如2010年的时候 HyperVM 就曝重大安全漏洞,导致多家 VPS 服务商的服务器被黑,客户数据全部丢失,有的服务商甚至因为这个关门了。今天介绍的这个 Xen Shell 控制面板是由 Perl 写的命令行式 Xen 管理工具,包含开启...

安装完 Xen 后可能需要安装一个控制面板方便用户自己操作虚拟机(VPS)。可以在网上找到一些 Xen 的开源控制面板,有的是基于 Web 的,不过大多数 Xen 控制面板都不完善也不好用,有的还有漏洞,比如2010年的时候 HyperVM 就曝重大安全漏洞,导致多家 VPS 服务商的服务器被黑,客户数据全部丢失,有的服务商甚至因为这个关门了。今天介绍的这个 Xen Shell 控制面板是由 Perl 写的命令行式 Xen 管理工具,包含开启、关闭、重启、查看控制台等功能。

首先到 http://xen-tools.org/software/xen-shell/releases.html 下载最新的 xen-shell 源代码包,解压后安装:

# wget http://xen-tools.org/software/xen-shell/xen-shell-1.9.tar.gz
# tar zxvf xen-shell-1.9.tar.gz
# cd xen-shell-1.9
# make
# make install

修改 xen-shell 的配置文件,加上 banner 然后禁止一些不需要的命令:

# vi /etc/xen-shell/xen-shell.conf

banner = VPSee's VPS Shell
blacklist = version, uptime, shutdown, pause, serial, sysreq, unpause, top, whoami, author, quit

增加一个用户登陆 xen-login-shell 使用 xen-shell 控制面板:

# useradd vpsee
# passwd vpsee

# vi /etc/shells
/usr/bin/xen-login-shell

# chsh -s /usr/bin/xen-login-shell vpsee

在 Xen 虚拟机配置文件里修改 name, xen_shell, vif,如下:

# vi /etc/xen/vpsee

name = "vpsee"
xen_shell = 'vpsee'
bootloader = "/usr/bin/pygrub"
vcpus = 1
maxmem = "512"
memory = "512"
disk = [ "phy:sdb1,xvdb1,w", "phy:sdb2,xvdb2,w" ]
root = "/dev/sdb1 ro"
vif = [ "vifname=vpsee,bridge=xenbr0" ]
on_shutdown = "destroy"
on_poweroff = "destroy"
on_reboot = "restart"
on_crash = "restart"

用新建的用户登陆后运行 xen-shell 后会出现以下错误:

$ /usr/bin/xen-shell 

  There were no Xen configuration files found which matched the pattern:

   /etc/xen/*

  Please update /etc/xen-shell/xen-shell.conf

这是因为刚创建的用户没有权限读取 /etc/xen 目录及 /etc/xen/vpsee 配置文件,所以需要修改 /etc/xen 和 /etc/xen/vpsee 的权限:

# chmod 755 xen

刚创建的用户进入 xen-shell 后需要执行 xm 等相关操作,需要 root 权限,所以要把用户加到 sudoers 里面去:

# chmod 0640 /etc/sudoers
# vi /etc/sudoers
User_Alias   XENUSERS = vpsee
Cmnd_Alias   XEN      = /usr/sbin/xm
Cmnd_Alias   XENIMG   = /usr/bin/xen-create-image
XENUSERS     ALL      = NOPASSWD: XEN,XENIMG

# chmod 0440 /etc/sudoers

用户登陆后仍然不能执行 xm console 等操作,因为找不到路径,所以需要在用户主目录下把 xm 命令的路径包括进去:

# vi /home/vpsee/.bashrc
# User specific aliases and functions
export PATH=$PATH:/usr/sbin/

最后再执行 xen-shell 就可以顺利看到界面了。
vpsee vps shell