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 挂载命令来实现 二个环境中的文件共享
原文地址:https://my.oschina.net/suncf/blog/3147060
相关推荐
-
Python编写ORM框架 python基础
2019-8-26
-
流水线技术概念简介 python基础
2019-5-20
-
Python实现Singleton模式的几种方式 python基础
2019-9-2
-
(admin.E108) The value of ‘list_display[4]’报错解决方案 python基础
2019-10-7
-
Python 进阶学习笔记 python基础
2019-8-15
-
[Python3]Python面向对象的程序设计 python基础
2019-4-27
-
Python 任务自动化工具 tox 教程 python基础
2020-6-17
-
python filter map reduce python基础
2019-5-15
-
python 多线程异步 python基础
2019-8-25
-
Python内存管理机制 python基础
2019-8-19