iis服务器助手广告广告
返回顶部
首页 > 资讯 > 操作系统 >Linux中怎么使用Jailkit管理用户
  • 532
分享到

Linux中怎么使用Jailkit管理用户

2023-06-13 06:06:30 532人浏览 八月长安
摘要

本篇文章给大家分享的是有关linux中怎么使用Jailkit管理用户,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。安装jailkit代码如下:cd /tmpwget Http:

本篇文章给大家分享的是有关linux中怎么使用Jailkit管理用户,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。

安装jailkit

代码如下:


cd /tmp
wget Http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tar xzf jailkit-2.16.tar.gz
cd jailkit-2.16
./configure
make
make install
cp extra/jailkit /etc/init.d/jailkit
chmod u+x /etc/init.d/jailkit
chkconfig jailkit on


初始化chroot环境

代码如下:


jk_init -v -j /home/chroot sftp scp jk_lsh netutils extendedshell
service jailkit start

配置Jailed Shell

配置受限环境:

我们需要建立一个目录来存放所有受限环境的配置。目录随便放在什么地方,比如我们可以创建个/opt/jail的目录。

代码如下:


$ sudo mkdir /opt/jail


这个目录应为Root所有。用chown改变属主。

代码如下:


$ sudo chown root:root /opt/jail


设置在受限环境中可用的程序

任何程序想要在受限环境中执行则必须用jk_init命令拷贝到目录中。

例如:

代码如下:


$ sudo jk_init -v /jail basicshell
$ sudo jk_init -v /jail editors
$ sudo jk_init -v /jail extendedshell
$ sudo jk_init -v /jail netutils
$ sudo jk_init -v /jail ssh
$ sudo jk_init -v /jail sftp
$ sudo jk_init -v /jail jk_lsh


或一次性解决:

代码如下:


$ sudo jk_init -v /opt/jail netutils basicshell jk_lsh openvpn ssh sftp


像basicshell, editors, netutils是一些组名,其中包含多个程序。复制到jail shell中的每个组都是可执行文件、库文件等的集合。比如basicshell就在jail提供有bash, ls, cat, chmod, mkdir, cp, cpio, date, dd, echo, egrep等程序。

完整的程序列表设置,你可以在/etc/jailkit/jk_init.ini中查看。

代码如下:


jk_lsh (Jailkit limited shell) - 这是一个重要的部分,必须添加到受限环境中。


创建将被监禁的用户

需要将一个用户放入jail里。可以先创建一个

代码如下:


$ sudo adduser robber
Adding user `robber' ...
Adding new group `robber' (1005) ...
Adding new user `robber' (1006) with group `robber' ...
Creating home directory `/home/robber' ...
Copying files from `/etc/skel' ...  
Enter new UNIX passWord:
Retype new UNIX password:
passwd: password updated successfully
Changing the user infORMation for robber
Enter the new value, or press ENTER for the default
   Full Name []:
   Room Number []:
   Work Phone []:
   Home Phone []:
   Other []:
Is the information correct? [Y/n] y


注意:目前创建的是一个在实际文件系统中的普通用户,并没有添加到受限环境中。

在下一步这个用户会被放到受限环境里。

这时候如果你查看/etc/passwd文件,你会在文件最后看到跟下面差不多的一个条目。

代码如下:


robber:x:1006:1005:,,,:/home/robber:/bin/bash


这是我们新创建的用户,最后部分的/bin/bash指示了这个用户如果登入了那么它可以在系统上正常的Shell访问

限制用户

现在是时候将用户限制

代码如下:


$ sudo jk_jailuser -m -j /opt/jail/ robber


执行上列命令后,用户robber将会被限制。

如果你现在再观察/etc/passwd文件,会发现类似下面的最后条目。

代码如下:


robber:x:1006:1005:,,,:/opt/jail/./home/robber:/usr/sbin/jk_chrootsh


注意:最后两部分表明用户主目录和shell类型已经被改变了。现在用户的主目录在/opt/jail(受限环境)中。用户的Shell是一个名叫jk_chrootsh的特殊程序,会提供Jailed Shell。

jk_chrootsh这是个特殊的shell,每当用户登入系统时,它都会将用户放入受限环境中。

到目前为止受限配置已经几乎完成了。但是如果你试图用ssh连接,那么注定会失败,像这样:

代码如下:


$ ssh robber@localhost
robber@localhost's password:
Welcome to ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
* Documentation:  https://help.ubuntu.com/
13 packages can be updated.
0 updates are security updates.
*** /dev/sda7 will be checked for errors at next reboot ***
*** /dev/sda8 will be checked for errors at next reboot ***
Last login: Sat Jun 23 12:45:13 2012 from localhost
Connection to localhost closed.
$


连接会立马关闭,这意味着用户已经活动在一个受限制的shell中。

给在jail中的用户Bash Shell

下个重要的事情是给用户在限制环境中的一个正确的bash shell。

打开下面的文件

/opt/jail/etc/passwd
这是个jail中的password文件。类似如下

代码如下:


root:x:0:0:root:/root:/bin/bash
robber:x:1006:1005:,,,:/home/robber:/usr/sbin/jk_lsh


将/usr/sbin/jk_lsh改为/bin/bash

代码如下:


root:x:0:0:root:/root:/bin/bash
robber:x:1006:1005:,,,:/home/robber:/bin/bash


保存文件并退出。

登入限制环境

现在让我们再次登入受限环境

代码如下:


$ ssh robber@localhost
robber@localhost's password:
Welcome to Ubuntu 12.04 LTS (GNU/Linux 3.2.0-25-generic x86_64)
* Documentation:  https://help.ubuntu.com/
13 packages can be updated.
0 updates are security updates.
*** /dev/sda7 will be checked for errors at next reboot ***
*** /dev/sda8 will be checked for errors at next reboot ***
Last login: Sat Jun 23 12:46:01 2012 from localhost
bash: groups: command not found
I have no name!@desktop:~$


受限环境说'I have no name!',哈哈。现在我们在受限环境中有了个完整功能的bash shell。

现在看看实际的环境。受限环境中的根目录实际就是真实文件系统中的/opt/jail。但这只有我们自己知道,受限用户并不知情。

代码如下:


I have no name!@desktop:~$ cd /
I have no name!@desktop:/$ ls
bin  dev  etc  home  lib  lib64  run  usr  var
I have no name!@desktop:/$


也只有我们通过jk_cp拷贝到jail中的命令能使用。

如果登入失败,请检查一下/var/log/auth.log的错误信息。

现在尝试运行一些网络命令,类似wget的命令。

代码如下:


$ wget http://www.Google.com/


如果你获得类似的错误提示:

代码如下:


$ wget http://www.google.com/
--2012-06-23 12:56:43--  http://www.google.com/
Resolving www.google.com (www.google.com)... failed: Name or service not known.
wget: unable to resolve host address `www.google.com'


你可以通过运行下列两条命令来解决这个问题:

代码如下:


$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_files.so.2
$ sudo jk_cp -v -j /opt/jail /lib/x86_64-linux-gnu/libnss_dns.so.2


这样才能正确的定位到libnssfiles.so和libnssdns.so

在限制环境中运行程序或服务

现在配置已经完成了。可以在限制/安全的环境里运行程序或服务。要在限制环境中启动一个程序或守护进程可以用jk_chrootlaunch命令。

代码如下:


$ sudo jk_chrootlaunch -j /opt/jail -u robber -x /some/command/in/jail


jk_chrootlaunch工具可以在限制环境中启动一个特殊的进程同时指定用户特权。如果守护进程启动失败,请检查/var/log/syslog/错误信息。

以上就是Linux中怎么使用Jailkit管理用户,小编相信有部分知识点可能是我们日常工作会见到或用到的。希望你能通过这篇文章学到更多知识。更多详情敬请关注编程网操作系统频道。

--结束END--

本文标题: Linux中怎么使用Jailkit管理用户

本文链接: https://www.lsjlt.com/news/266201.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Linux中怎么使用Jailkit管理用户
    本篇文章给大家分享的是有关Linux中怎么使用Jailkit管理用户,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。安装jailkit代码如下:cd /tmpwget http:...
    99+
    2023-06-13
  • Linux中怎么实现用户和用户组管理
    Linux中怎么实现用户和用户组管理,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。一、Linux系统用户账号的管理  用户账号的管理工作主要涉及到用户账号的添加...
    99+
    2023-06-10
  • Linux用户口令怎么管理
    这篇文章主要介绍了Linux用户口令怎么管理的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Linux用户口令怎么管理文章都会有所收获,下面我们一起来看看吧。Linux系统是一个多用户多任务的分时操作系统,任何一...
    99+
    2023-06-28
  • linux用户和组怎么管理
    在Linux系统中,可以使用以下命令来管理用户和组:1. 添加用户:使用useradd命令添加新用户。例如,sudo useradd...
    99+
    2023-10-18
    linux
  • Linux中怎么实现用户账号管理
    这篇文章给大家介绍Linux中怎么实现用户账号管理,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。添加用户账号添加用户账号就是在系统中创建一个新账号,然后为新账号分配用户号、用户组、主目录和登录Shell等资源。刚添加的...
    99+
    2023-06-16
  • Linux中如何管理用户和用户组
    在Linux中,管理用户和用户组可以通过命令行工具和系统配置文件来实现。以下是一些常用的命令和配置文件: 添加用户:使用user...
    99+
    2024-03-15
    Linux
  • Linux系统中怎么安装jailkit
    这篇文章将为大家详细讲解有关Linux系统中怎么安装jailkit,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。jailkit 是一款能够在一个chroot jail中快速创建受限用户帐户的...
    99+
    2023-06-12
  • linux中账户管理命令useradd、groupadd怎么用
    这篇文章给大家分享的是有关linux中账户管理命令useradd、groupadd怎么用的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。内容提要:1. 掌握用户的 增/删/改 命令2. 掌握组的 增/删/改 命令组...
    99+
    2023-06-12
  • 使用Linux 怎么实现文档多租户管理
    使用Linux 怎么实现文档多租户管理?针对这个问题,这篇文章详细介绍了相对应的分析和解答,希望可以帮助更多想解决这个问题的小伙伴找到更简单易行的方法。创建账户相关信息groupadd microsoft ; 新增群组useradd -G ...
    99+
    2023-06-10
  • linux用户组和权限怎么管理
    在Linux系统中,用户组和权限是通过一系列命令和配置文件来管理的。下面是一些常用的管理用户组和权限的方法:1. 创建和删除用户组:...
    99+
    2023-08-16
    linux
  • linux怎么设置用户为管理员
    在Linux系统中,可以通过以下步骤将用户设置为管理员:1. 使用root用户或具有sudo权限的用户登录到系统。2. 打开终端窗口...
    99+
    2023-08-31
    linux
  • 怎么在Vue中使用Element处理用户管理模块
    今天就跟大家聊聊有关怎么在Vue中使用Element处理用户管理模块,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。1、权限管理模块的设计我们知道,权限管理一般都会涉及到用户、组织机构...
    99+
    2023-06-15
  • Linux用户和用户组如何管理
    这篇文章主要介绍“Linux用户和用户组如何管理”,在日常操作中,相信很多人在Linux用户和用户组如何管理问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Linux用户和用户组如何管理”的疑惑有所帮助!接下来...
    99+
    2023-06-30
  • linux中怎么使用sgdisk管理分区
    小编给大家分享一下linux中怎么使用sgdisk管理分区,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!使用 sgdisk 的大多数基本功能只需要了解以下六个参数...
    99+
    2023-06-16
  • MySQL中怎么实现用户账户管理和权限管理
    MySQL中怎么实现用户账户管理和权限管理,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。mysql 的权限体系大致分为5个层级:全局层级全局权...
    99+
    2024-04-02
  • sqlserver 中怎么管理用户权限
    本篇文章为大家展示了sqlserver 中怎么管理用户权限,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。Menu,这三个表之间有如下关系: User_Role=&g...
    99+
    2024-04-02
  • MongoDB中怎么实现用户管理
    本篇文章给大家分享的是有关MongoDB中怎么实现用户管理,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。  ● 条件一:服务器启动的...
    99+
    2024-04-02
  • linux管理工具怎么使用
    本篇内容主要讲解“linux管理工具怎么使用”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“linux管理工具怎么使用”吧!linux管理工具有:1、htop,一款监控与进程管理软件;2、dsta...
    99+
    2023-06-30
  • CentOS7中怎么添加和管理用户账户
    在CentOS7中,可以使用以下命令来添加和管理用户账户: 添加用户账户:可以使用以下命令来添加用户账户: sudo addus...
    99+
    2024-03-04
    CentOS7
  • win10怎么启用用户管理
    win10系统删除或修改重要文件都需要管理员帐户才能进行操作,但为什么打开win10登录界面却没有找到管理员账户呢?其实这是因为我们没有启用管理员账户,就此疑问,今天小编就和大家说说win10怎么启用用户管理。1、先在桌面右键点击这台电脑,...
    99+
    2023-07-19
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作