python web ide/jailkit python环境安装 搭建
PythonIDE基础软件安装 PythonIDE 基于开源修改,地址为: https://github.com/vimior/PythonWebIDE.git 对其增加了 关键词验证、输出过滤、同步登录等功能。 为了安全性考虑,将用户从系统上隔离(没有采用docker)。隔离软件为 jailkit,本文只介绍jailkit的软件安装以及基于这个软件的pythonide 环境安装。 以下操作均需要 root用户操作,需要切换用户的都作说明了,注意看 Jailkit 安装 版本为:2.21 wget http://olivier.sessink.nl/jailkit/jailkit-2.21.tar.bz2 tar xf jailkit-2.19.tar.bz2 ./configure --prefix=/usr/local/src/jailkit-2.21 make make install 配置受限环境 注:受限不目录能与安装目录相同 mkdir -p /app/ideuser 设置在受限环境中可以运行的命令 jk_init -v /app/ideuser netutils basicshell jk_lsh id whoami who logger 解释: 将基础命令 jk_lsh id whoami 等命令安装或初始化到受限目录(环境)中, 可参考安装目录下 /usr/local/src/jailkit-2.21/etc/jailkit/jk_init.ini 文件,此文件包含定义了基础命令有哪些.如果需要限是请在其中删除。 netutils 为网络相关包,为后期安装python环境使用 创建受限制的用户 useradd ide_guest passwd ide_guest #回车后输入二次密码 将用户放入限制环境中 jk_jailuser -j /app/ideuser/ -s /bin/bash ide_guest 至此用户限制完成,可以使用su ide_guest 来切换用户体验. jailkit python 环境安装 由于项目要求,必须要使用python,这个过程费了些劲 切换为root用户 不管你系统中是否有python环境,此处建议从新安装,如果完全知道python的安装目可跳过此步骤 下载python 找一个空白目录 wget https://www.python.org/ftp/python/3.6.8/Python-3.6.8.tgz tar zxvf Python-3.6.8.tgz cd Python-3.6.8 ./configure --prefix=/usr/local make make altinstall 不出意外 python安装完成 修改 jialkit_init 配置文件 文件位置 /usr/local/src/jailkit-2.21/etc/jailkit 增加如下代码,路径请修改成自己的 [python3.6] comment = python3.6.8 paths = /usr/local/python3,/etc/ld.so.conf devices = /dev/null, /dev/zero, /dev/random, /dev/urandom 执行 jk_init -v -j /app/ideuser python3.6 等待完成 切换 ide_guest 用户,此时会发现在/usr/local中多了 python3 配置环境变量 vi .bashrc export PYTHON_HOME=/usr/local/python3/ export PATH=$PATH:$PYTHON_HOME/bin 此时 python 就可以使用了.如果还是不行.请将 python3 做一个软件连接,进入sr/local/python3/ 目录,执行 ln -s python3 python 即可 安装python包 注意:此时可在ide_guest用户安装python相关包,请留意安装的提示信息,如发现权限不足,可通过root 用户不足的用户修改成可以权限,本人在安装过程中提示 没有/usr/xx/xxxx 等权限,此时不要退出ide_guest 用户,在重新clone 一个窗口,通过root 用户将受限环境中 usr赋权 777 ,待ide_guest 安装完之后在变更回来,不改回来 ide_guest 将不能登录(这就是不要退出用户的原因) 赋权限命令如下: chmod 777 -R usr 改回命令如下 chmod 755 -R usr 中文支持 jailkit 安装后,默认只支持英文.不支持中文,centos 操作如下: 修改ide_guest 环境变量 vi /app/ideuser/home/.bash_profile LANG=zh_CN.UTF-8 LANGUAGE=zh_CN.UTF-8 LC_ALL=zh_CN.UTF-8 export LANG LANGUAGE LC_ALL 复制系统字符语言到受限环境 cp /usr/lib/locale/locale-archive /app/ideuser/usr/lib/locale 目标目录如果不存在,请创建 mkdir -p /app/ideuser/usr/lib/locale 在次进行 su ide_guest 用户,就可以输入中文了.python 不能编写中文的问题也解决了 'ascii' codec can't decode byte 0xe4 in position 0: ordinal not in range(128) 注意事项 如受限环境还需要增加命令,可通过 jk_cp -v -f /app/ideuser/ 命令 来实现. 好了 到这就安装完了.这软件确实是很方便.相当于一个独立的小系统了.如果要是其他的需求..比如:共享目录啥的,可通过mount 挂载命令来实现 二个环境中的文件共享