当前位置: 首页 > article >正文

docker入门——多用户服务器管理(小白)

我也是小白,其实也不确定对不对,目前ssh连接是没问题的,但是xftp还不可以,应该是配置文件还有点问题。。。。我后续肯定会改哒!

要求:实现对多用户服务器的分离管理,各个用户之间互不干涉,实现各用户默认登陆直接进入到容器内部。

1.首先需要把待管理的账号添加到docker用户组

这里需要切换到root目录下面进行执行(毕竟权限更高一点),假设目前系统已经有sunjh帐号了

sudo -i
sudo usermod -aG docker sunjh

2.强制 sunjh 用户登录后执行指定命令

首先需要更改/etc/ssh/sshd_config文件,我这里使用的是vim,需要把下面内容加入到文件中

先按i进入编辑模式,然后把下面的粘贴进去,然后按esc键,:+wq回车后进行强制保存退出(这里设置的是sunjh账号登陆后默认进入/home/sunjh文件夹)

Match User sunjh
    ForceCommand docker exec -it sunjh_container sh -c 'cd /home/sunjh && exec bash'
    AllowTcpForwarding no
    GatewayPorts no
    X11Forwarding no

以上完成后需要重启一下ssh生效

sudo systemctl restart sshd

3.拉取Ubuntu服务器镜像

我们实验室的服务器系统装的Ubuntu24.04的系统,我这里docker拉取的镜像也是Ubuntu24.04的(其他版本的估计也可以,但是我没尝试)。

docker pull ubuntu:24.04

这里为sunjh账号创建容器,并获取用户的UID和GID

启动容器并映射本地目录到 容器内的用户主目录里

这里我给用户分配的服务器本地地址为/mnt/disk1/sunjh

SUNJH_UID=$(id -u sunjh)
SUNJH_GID=$(id -g sunjh)

docker run -d --name=sunjh_container \
    -v /mnt/disk1/sunjh:/home/sunjh \
    -e HOME=/home/sunjh \
    ubuntu:24.04 \
    /bin/sh -c "groupadd -g ${SUNJH_GID} sunjh && useradd -m -s /bin/bash -u ${SUNJH_UID} -g ${SUNJH_GID} sunjh && exec su - sunjh -c 'tail -f /dev/null'"

4.遇到的某些问题

创建容器的时候有些命令写的不是很到位,所以来来回回写了好几次,最后改成了上面这个样子的,但是还是有点问题就是xftp没有办法连接上。

上面由于创建容器的时候经常出问题,所以需要来回删除容器,特别需要注意的问题就是需要先停止容器才可以进行删除!!!

docker stop sunjh_container
docker rm sunjh_container

http://www.kler.cn/a/520776.html

相关文章:

  • 预测性维护系统:让设备“未卜先知”
  • 苍穹外卖 项目记录 day09 历史订单
  • 【橘子Kibana】Kibana的分析能力Analytics简易分析
  • Linux(Centos、Ubuntu) 系统安装jenkins服务
  • 【测试】UI自动化测试
  • React 前端框架实战教程
  • 实战网络安全:渗透测试与防御指南
  • 汽车行业敏捷转型的推动者:ScrumCN的优势与实践
  • GESP2024年3月认证C++六级( 第三部分编程题(1)游戏)
  • 【ES实战】治理项之索引模板相关治理
  • React 前端框架实战教程
  • skynet 源码阅读 -- 「揭秘 Skynet 网络通讯」
  • C语言I/O请使用互斥锁和信号量分别实现5个线程之间的同步
  • java求职学习day17
  • 1.26学习
  • 2025年01月26日Github流行趋势
  • Python3 【正则表达式】:经典示例参考手册
  • 寒假1.25
  • 第04章 15 vtkObjectBase和vtkObject的基本特性及它们在VTK类体系中基础性作用
  • 动手学图神经网络(4):利用图神经网络进行图分类
  • 云岚到家项目100问 v1.0
  • 二叉树高频题目——下——不含树型dp
  • 基于单片机的智能小区门禁系统设计(论文+源码)
  • 【填充——双指针,DP】
  • 【算法】剪枝与优化
  • java复习总结