chroot -- 限制其他用户liunx空间

2024-04-17 22:28

本文主要是介绍chroot -- 限制其他用户liunx空间,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

目录- 限制其他用户liunx空间

    • 前言
    • 开始
    • 进入监狱
    • 总结


前言

前提

  1. ecs 服务器,centos系统,乌班图系统
  2. 需要root榕湖

开始

  1. 首先,登录到您的ECS机器。
  2. 创建一个新用户: 使用 adduser 命令创建一个新用户。例如,要创建一个名为 xushouchun 的用户,您需要运行:
sudo adduser xushouchun
sudo passwd xushouchun
  1. 对于通过 SSH 登录的用户,你需要在 /etc/ssh/sshd_config 文件中设置 ChrootDirectory 指令
cat /etc/ssh/sshd_config 
Match User xushouchun
ChrootDirectory /chroot
X11Forwarding no
AllowTcpForwarding no

限制文件上传下载

   #  ForceCommand internal-sftp
  1. 绑定设备和其他必要的目录 (可选):你可能需要把/dev、/proc、/sys等系统目录绑定到chroot环境中以确保某些功能能够正常工作:
mkdir -p /chroot/{dev,proc,sys}
sudo mount --rbind /dev /chroot/dev
sudo mount --rbind /proc /chroot/proc
sudo mount --rbind /sys /chroot/sys
  • . /dev:/dev 目录包含了代表系统中所有设备的特殊文件,包括硬盘、输入设备、随机数生成器等。在 chroot 环境中,如果你需要访问这些设备文件(例如,/dev/null, /dev/random),你需要将其绑定到 chroot 的 /dev 下。
  • . /proc:/proc 是一个虚拟文件系统,包含了内核与进程的信息,许多程序都依赖于此目录来收集系统信息。绑定 /proc 到 chroot 环境中,允许在 chroot 环境中运行的程序访问到这些信息。
  • . /sys:与 /proc 类似,/sys 是另一个虚拟文件系统,提供了内核的设备和硬件信息,它允许用户态程序读取或对设备和驱动进行配置。将其
    绑定到 chroot 环境中可以让这些操作和信息在 chroot 中同样可用。
  1. 配置目录
 sudo mkdir -pv /chroot/{bin,lib64,etc,home,usr/share/terminfo}
  1. 配置环境隔离
cp /home/xushouchun/.bash_profile /chroot/home/xushouchun/.bash_profile
  1. 配置命令
cp -R /usr/share/terminfo/x/* /chroot/usr/share/terminfo/x/
sudo cp  -f /bin/clear /chroot/bin
sudo cp  -f /bin/bash /chroot/bin/
sudo cp  -f /bin/su /chroot/bin/
sudo cp  -f /bin/ls /chroot/bin/
sudo cp /usr/bin/ldd /chroot/usr/bin/
sudo cp /usr/bin/bash /chroot/usr/bin/

其次,你需要找出ls依赖了哪些库,你可以在系统的根环境(不是chroot内)使用 ldd 命令:

sudo ldd /bin/ls
  1. 所有依赖拉进来

cp -rf /lib64/* /chroot/lib64/# 拉取对应的
sudo cp /lib64/libselinux.so.1 /chroot/lib64/
sudo cp /lib64/libcap.so.2 /chroot/lib64/
sudo cp /lib64/libacl.so.1 /chroot/lib64/
sudo cp /lib64/libc.so.6 /chroot/lib64/
sudo cp /lib64/libpcre.so.1 /chroot/lib64/
sudo cp /lib64/libdl.so.2 /chroot/lib64/
sudo cp /lib64/ld-linux-x86-64.so.2 /chroot/lib64/
sudo cp /lib64/libattr.so.1 /chroot/lib64/
sudo cp /lib64/libpthread.so.0 /chroot/lib64/sudo ldd /bin/clear
sudo cp -R /usr/share/terminfo/x /chroot/usr/share/terminfo/

在这里插入图片描述
10. 在chroot环境中为xushouchun创建home目录,并设置相应的权限和归属。

sudo mkdir -p /chroot/home/xushouchun
sudo chown -R xushouchun:xushouchun /chroot/home/xushouchun
  1. 收回权限:(略)
sudo chown -R root:root /chroot

进入监狱

sudo chroot /chroot

总结

ssh 限制了 xushouchun账户在home家目录
在这里插入图片描述
给定了对应的命令
在这里插入图片描述
提供了对应的配置
在这里插入图片描述
关于越狱问题,除非待讨论 除非对方有计算机基础,不然很难越狱

这篇关于chroot -- 限制其他用户liunx空间的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/913021

相关文章

Spring Boot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)

《SpringBoot分层架构详解之从Controller到Service再到Mapper的完整流程(用户管理系统为例)》本文将以一个实际案例(用户管理系统)为例,详细解析SpringBoot中Co... 目录引言:为什么学习Spring Boot分层架构?第一部分:Spring Boot的整体架构1.1

k8s admin用户生成token方式

《k8sadmin用户生成token方式》用户使用Kubernetes1.28创建admin命名空间并部署,通过ClusterRoleBinding为jenkins用户授权集群级权限,生成并获取其t... 目录k8s admin用户生成token创建一个admin的命名空间查看k8s namespace 的

MySQL8.0临时表空间的使用及解读

《MySQL8.0临时表空间的使用及解读》MySQL8.0+引入会话级(temp_N.ibt)和全局(ibtmp1)InnoDB临时表空间,用于存储临时数据及事务日志,自动创建与回收,重启释放,管理高... 目录一、核心概念:为什么需要“临时表空间”?二、InnoDB 临时表空间的两种类型1. 会话级临时表

k8s容器放开锁内存限制问题

《k8s容器放开锁内存限制问题》nccl-test容器运行mpirun时因NCCL_BUFFSIZE过大导致OOM,需通过修改docker服务配置文件,将LimitMEMLOCK设为infinity并... 目录问题问题确认放开容器max locked memory限制总结参考:https://Access

Three.js构建一个 3D 商品展示空间完整实战项目

《Three.js构建一个3D商品展示空间完整实战项目》Three.js是一个强大的JavaScript库,专用于在Web浏览器中创建3D图形,:本文主要介绍Three.js构建一个3D商品展... 目录引言项目核心技术1. 项目架构与资源组织2. 多模型切换、交互热点绑定3. 移动端适配与帧率优化4. 可

基于Python实现数字限制在指定范围内的五种方式

《基于Python实现数字限制在指定范围内的五种方式》在编程中,数字范围限制是常见需求,无论是游戏开发中的角色属性值、金融计算中的利率调整,还是传感器数据处理中的异常值过滤,都需要将数字控制在合理范围... 目录引言一、基础条件判断法二、数学运算巧解法三、装饰器模式法四、自定义类封装法五、NumPy数组处理

最新Spring Security的基于内存用户认证方式

《最新SpringSecurity的基于内存用户认证方式》本文讲解SpringSecurity内存认证配置,适用于开发、测试等场景,通过代码创建用户及权限管理,支持密码加密,虽简单但不持久化,生产环... 目录1. 前言2. 因何选择内存认证?3. 基础配置实战❶ 创建Spring Security配置文件

go动态限制并发数量的实现示例

《go动态限制并发数量的实现示例》本文主要介绍了Go并发控制方法,通过带缓冲通道和第三方库实现并发数量限制,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面... 目录带有缓冲大小的通道使用第三方库其他控制并发的方法因为go从语言层面支持并发,所以面试百分百会问到

Ubuntu如何分配​​未使用的空间

《Ubuntu如何分配​​未使用的空间》Ubuntu磁盘空间不足,实际未分配空间8.2G因LVM卷组名称格式差异(双破折号误写)导致无法扩展,确认正确卷组名后,使用lvextend和resize2fs... 目录1:原因2:操作3:报错5:解决问题:确认卷组名称​6:再次操作7:验证扩展是否成功8:问题已解

MySQL之InnoDB存储页的独立表空间解读

《MySQL之InnoDB存储页的独立表空间解读》:本文主要介绍MySQL之InnoDB存储页的独立表空间,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教... 目录1、背景2、独立表空间【1】表空间大小【2】区【3】组【4】段【5】区的类型【6】XDES Entry区结构【