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 挂载命令来实现 二个环境中的文件共享
低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
谈谈我对 IoC 和 AOP 的理解
@JFinal 波总在 JFinal 4.8 发布新闻的评论 中给出了下面的表述: IOC 本质是为了实现 AOP 我有点吃惊, 没想到 Java 界的大佬对这两个概念有和我完全不一致的认识. 所以写下这篇博客, 并借此机会重新学习一下 IoC 和 AOP, 确保自己对这两个后端开发非常重要的概念不会有太过偏差的理解 1. IoC IoC 是 Inversion of Control 的缩写, 中文意思是控制反转.维基百科对 IoC 开宗明义的定位为: Insoftware engineering,inversion of control(IoC) is a programming principle 维基文中对此有详细的阐述, 大家可以自行前往维基百科 Inversion_of_control 词条查看, 我就不一一 Copy/Paste 了. 这里帮大家检出几个关键地方捋一捋: IoC 是编程原则 - 不是特定的产品, 不是具体实现方式, 当然也和具体编程语言无关 在传统编程范式中, 程序调用可重用的库 在 IoC 原则下, 程序接受通用框架的调用控制 - 框架调用程序代码 与 I...
- 下一篇
Sentinel 1.7.1 版本发布
Sentinel 1.7.1正式发布,带来了 Spring Web 模块适配、Dubbo 异步模式适配改进、控制台 ACL 注解扩展等多项特性和改进。主要变更如下: 特性/功能改进 新增原生的 Spring Web 模块适配(sentinel-spring-webmvc-adapter),自动提取 controller 中的 URL pattern 作为资源名,对于 REST API 无需再通过UrlCleaner归一资源名 改进sentinel-apache-dubbo-adapter模块中 Dubbo 异步模式的统计处理方式(仅支持 Dubbo 2.7.2 及以上版本) 支持配置 transport 心跳组件发送心跳的路径 控制台新增 ACL 注解方式扩展,方便用户定制细粒度的权限控制 控制台 SentinelApiClient 推规则时默认编码采用 UTF-8,以支持中文字符 Bug 修复 修复sentinel-transport-simple-http模块匹配 Content-Type 时逻辑不正确导致 POST 请求信息无法正确解析的 bug 详情请参考Release Not...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- CentOS7,CentOS8安装Elasticsearch6.8.6
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- Linux系统CentOS6、CentOS7手动修改IP地址
- CentOS7安装Docker,走上虚拟化容器引擎之路
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS7设置SWAP分区,小内存服务器的救世主
- Docker快速安装Oracle11G,搭建oracle11g学习环境