在我们这个世界上,有许多很多秘密……老实说,我无法学到足够的知识来了解其中的大部分秘密,这是因为一个简单的事实,即Linux允许我们做很多事情,但事实却是如此。我们很难了解他们所有人。
这次,我将向您解释如何做非常有用的事情,许多网络或系统管理员需要做的事情,并且发现很难根本找不到一种相当简单的方法来实现它:
如何保护通过SSH连接的用户
笼? …WTF!
是的,如果出于任何原因我们必须使SSH访问我们的朋友进入我们的计算机(或服务器),则我们必须始终注意计算机或服务器的安全性和稳定性。
碰巧,最近我们想给Perseus SSH访问我们服务器的权限,但是我们不能给他任何访问权限,因为我们在那里有非常敏感的配置(我们编译了很多东西,我们分别安装了软件包,等等...),如果没有这样做,无论我尝试对服务器进行哪怕一点点更改,都可能会浪费一切。
然后, 如何创建具有极其有限的特权的用户,以至于他甚至无法摆脱自己的笼子(家)?
让我们从下载开始 监狱,该工具将允许我们执行以下操作:
1. 首先,我们必须下载我们的JailKit服务器。
wget http://ftp.desdelinux.net/jailkit-2.14.tar.gz
2. 然后,我们必须解压缩该软件包并输入刚刚出现的文件夹:
tar xzf jailkit-2.14.tar.gz && cd jailkit-2.14
3. 后来我们继续编译并安装软件(我给你截图):
./configure
make
make install
4. 准备好了,这个已经安装好了。 现在我们继续创建将包含未来用户的框架,在我的情况下,我在以下位置创建了该框架:/ opt /,并将其命名为“ jail”,因此路径为: /选择/监狱 :
mkdir /opt/jail
chown root:root /opt/jail
5. 笼已经创建,但是它没有所有必需的工具,因此将来在那里的用户可以毫无问题地工作。 我的意思是,直到现在创建了笼子,但它只是一个空盒子。 现在,我们将笼中的用户需要的一些工具放到笼子里:
jk_init -v /opt/jail basicshell
jk_init -v /opt/jail editors
jk_init -v /opt/jail extendedshell
jk_init -v /opt/jail netutils
jk_init -v /opt/jail ssh
jk_init -v /opt/jail sftp
jk_init -v /opt/jail jk_lsh
6. 准备好了,笼子已经存在,它已经有了供用户使用的工具……现在我们只需要……用户! 我们将创建用户 基拉 然后将其放入笼子中:
adduser kira
jk_jailuser -m -j /opt/jail kira
cat /etc/passwd | grep jk_chroot
如果您发现没有出现类似于屏幕截图的内容,则说明您做错了什么。 在这里发表评论,我们将竭诚为您服务。
7. 瞧,用户已经被囚禁了……但是,他被囚禁了,无法通过SSH连接,因为尝试连接服务器时不允许他这样做:
我们必须编辑cage的etc / passwd文件,也就是说,在这种情况下 / opt /监狱/ etc / passwd ,在其中对创建的用户行进行注释,并添加一个新的用户行,例如:
kira:x:1003:1003 :: / home / kira:/ bin / bash
也就是说,我们将有这样的文件 passwd文件:
根:x:0:0:根:/根:/ bin / bash
#kira:x:1003:1003:,,,:/ opt / jail /./ home / kira:/ usr / sbin / jk_lsh
kira:x:1003:1003 :: / home / kira:/ bin / bash
请注意重复的标点符号和其他标点符号,重要的是不要丢掉它们中的任何一个🙂
完成此操作后,用户可以毫无问题地进入😀
就这样。
我们用于所有这些的工具(监狱)在后端使用 chroot,实际上几乎所有教程都使用。 但是,使用JailKit可以更轻松地固定cage
如果某人有问题或出了什么问题,请尽可能多地保留细节,我不认为自己是专家,但我会尽全力为您提供帮助。
因此,这类似于FTP中的权限吗? 有趣
您总是拿出甚至不知道存在的所有内容,例如mysql xD中的用户
不完全相同,因为SSH与FTP不同。 SSH是一个外壳,即一个终端……您可能在另一台计算机或服务器的终端中,可以执行命令,启动进程等……您将做服务器管理员允许的最大工作
哈哈哈哈哈,不行,发生的事情是我发表了更多技术性的文章……也就是说,我喜欢发表一些不太流行和有趣的小文章。 例如,我个人不打算在新的Ubuntu发布之日发布任何东西,因为我认为很多人已经在谈论它了……但是,您在本文中所读的内容,不是每个人都阅读的内容吗?天还是不? 😀
很好的贡献,谢谢
还有一个称为sftp的协议,它与ftp和Secure Shell在一起,尽管它与通过SSH运行FTP并不相同:
问候
是的,是的,的确如此,但是通过使用SSH,我可以自动控制使用SFTP连接的任何人,因为正如您所说,SFTP实际上是SSH + FTP😀
问候
无法看到图像!!! 🙁
我的一个小错误呵呵,现在告诉我😀
准备。 谢谢😀
很好,我将其指向我的收藏夹,以便在需要时可以使用
谢谢您任何疑问或问题,我们在这里为您提供帮助🙂
他们关在笼子里的英仙座。 http://i.imgur.com/YjVv9.png
LOL
xD
你好吗。
您知道,这是我不太熟悉的话题,并且我一直在BSD(PC-BSD和Ghost BSD)中进行过检查,我发现它非常有趣,并且具有非常有用的功能。
我将保留它作为参考,并对照BSD文档进行检查。 感谢您的信息。
我也不对此感到陌生,因为我从没想过要给某人SSH访问我的任何服务器哈哈,但是当我发现需要这样做时,我想给予访问权,但不可能有人错误地做某事那不一定must
我从未在BSD系统上尝试过此操作,所以无法告诉您它是否可以工作,但是如果您正在寻找如何在BSD上进行chroot,应该会出现一些问题😉
感谢您的评论朋友🙂
您好,我使用的是FreeBSD,当然jailkit也可以在端口上使用
使用此命令安装
cd / usr / ports / shells / jailkit / &&使安装干净
或通过ftp数据包
pkg_add -r Jailkit
仅在配置中(kira:x:1003:1003 :: / home / kira:/ bin / bash)
您需要添加tcsh或sh,除非您已安装bash并添加此路径
/ usr /本地/ bin / bash
还有更多细节,在Ghost BSD中,类似的过程应该更简单,因为它基于FreeBSD。
问候
太好了,我一直在寻找它; 你知道它是否可以在Centos中使用吗? 谢谢。
我尚未在Centos上对其进行测试,但是可以,它应该可以工作:)
实际上,我想我记得有几个人在Centos和Red Hat服务器上使用了相同的工具😉
非常感谢。 它直接进入书签。
感谢您的评论🙂
很好的“技巧”,对系统管理员超级有用。 但更好的是,写得很好。 你还能想要什么。
非常感谢你的贡献。
谢谢,非常感谢您的评论😀
问候
赞SSH哈哈
有一次我尝试为ssh制作笼子,但使用的是传统风格,事实是它永远不会正确地出现。 如果笼子正在运行,它甚至没有重击,那就是它连接了,什么也没留下哈哈,如果外壳正在运行,它可能会进入目录层次结构,并且还有更多的基伦博斯哈哈。这个监狱工具是一个钉头锤,它可以使所有这些东西自动化。
哈哈谢谢。
是的,实际上SSH为其允许的功能让所有人惊叹不已,这实际上无非是系统允许的功能……Linux的万岁! … 哈哈。
你好,一个问题!
为什么要从(1)/ opt /监狱/./ home / kira更改为(2)/ home / kira
我们必须编辑笼子的文件etc / passwd,在这种情况下,它将是/ opt / jail / etc / passwd,在其中,我们对创建的用户行进行注释,并添加一个新的文件,例如:
kira:x:1003:1003 :: / home / kira:/ bin / bash
换句话说,passwd文件如下所示:
根:x:0:0:根:/根:/ bin / bash
(1)#kira:x:1003:1003:,,,:/ opt / jail /./ home / kira:/ usr / sbin / jk_lsh
(2)kira:x:1003:1003 :: / home / kira:/ bin / bash
你好🙂
如果未设置,则SSH访问将不起作用,用户会尝试建立连接,但会自动被驱除...这似乎是JailKit带来的解释器的错误或问题,因为在进行此更改时会告诉其使用系统正常运转,一切正常。
我仍然关闭ssh会话:C
苏斯10.1 x64
您好,我已经安装了它,并且在centos = D时效果很好
但我的dua就像以前一样,向监狱用户添加了更多命令
无法运行svn co命令 http://pagina.com/carpeta
我的意思是,在这种情况下,对于监狱用户而言,此命令不存在,就像之前将这些命令添加到监狱中一样,还有很多我需要添加。
你好,你好吗?
如果要在监狱中启用命令“ svn”,则具有命令jk_cp
那是:
jk_cp / opt /监狱/ / bin / svn
假设svn二进制文件或可执行文件为:/ bin / svn
并让Cage / Jail为:/ opt / jail /
您会发现依赖于其他命令的命令,因此,如果添加命令“ pepe”,您还将看到还必须添加“ federico”,因为“ pepe”取决于要执行的“ federico”,如果找到,则添加必要的命令已经😉
太好了,我现在正在测试它,我告诉你它发生了,非常感谢= D
运气😀
我设法做到了你告诉我的,但是通过这种方式,它自动检测到我,没有任何问题,这是我以前能够使用Subversion的命令。
jk_cp -j /主页/ jaul svn
好吧,我使用centos xP,也许它与众不同,但很好
现在我想知道像svn这样的库,但是现在我想编译,因为假设我需要使用这样的命令
./配置并标记错误
./configure.lineno:第434行:expr:找不到命令
我不知道我已经安装了哪些库,如果它在监狱外而不是在jaui内编译,我已经安装了mysql和其他库。
抱歉给你带来不便。
ps:您应该在指南中输入我对centos =)问候中使用的命令的介绍。
看,当我告诉您找不到命令(如此处)时,第一件事就是找到命令:
whereis expr
找到后(/ usr / bin / expr和/ usr / bin / X11 / expr),我们使用jk_cp copy将其复制到Jail中。
试试看。
是的,我已经编辑了帖子,并补充说它可以在Centos中使用😀
非常感谢您(:
感谢您的输入...
你好你好吗?
他妈的老兄! 来自智利的问候。 你和我一样放屁! 大声笑!。 拥抱您的帖子对我有很大帮助!
谢谢您的评论😀
非常感谢您的帖子,它对我有很大帮助,但不幸的是
///////////////////////////////////////////////////// // /////////////////////////////////////////////////// //// //////////////////////
我们必须编辑笼子的文件etc / passwd,在这种情况下,它将是/ opt / jail / etc / passwd,在其中,我们对创建的用户行进行注释,并添加一个新的文件,例如:
kira:x:1003:1003 :: / home / kira:/ bin / bash
换句话说,passwd文件如下所示:
根:x:0:0:根:/根:/ bin / bash
#kira:x:1003:1003:,,,:/ opt / jail /./ home / kira:/ usr / sbin / jk_lsh
kira:x:1003:1003 :: / home / kira:/ bin / bash
//////////////////////////////////////////////////// // ////////////////////////////////////////////
它会导致相同的错误,我的意思是,我将其保留原样,当我连接。,..时,它会从终端引导我,在该行中添加注释,并按您的指示再添加一个修改它,并且还会靴我...。
安装最新版本“ jailkit-2.16.tar”,甚至创建脚本来节省时间,如下所示:
/////////////////////////////////////////////// //////////////////////////////////////////////////
#!/斌/庆典
wget的 http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
tar -zxvf jamkit-2.16.tar.gz
cd监狱工具包2.16
/配置
使
使安装
出口
///////////////////////////////////////////////////// /////////////////////////
显然首先他们以“ root”身份登录...
我该如何解决错误的朋友?
抱歉,我已经知道了,我在Home文件夹上犯了一个错误,但是我有一个很大的疑问,如何获取它才能执行“ screen”命令,我尝试使用它(在受限制的用户中) ,但是那是行不通的...另一件事是,我如何让这个被关进笼子的用户在他刚放在自己家中的exe上运行wine程序,情况如何?
你好,很好的兔兔! 我是这些环境的新手,我有一个问题...
至于安全性,我看到它的根部有很多文件夹,这是否必要? 我只希望他可以访问他的文件夹(ftp-upload和ssh-execute)来运行应用程序,他可以从根目录中删除哪些文件夹? 还是对我没有任何危险? 预先感谢您的帮助,问候!
@ KZKG ^ Gaara,谢天谢地,您提出了喘息的错误,但对于jailkit-2.16.tar.gz版本,您建议他们对其进行修复。
http://olivier.sessink.nl/jailkit/jailkit-2.16.tar.gz
我想我会将其传递给PDF,jojo ..传递给笼子,谢谢wn😀
问候朋友,我有一个问题:
假设我们有一个名为“ test”的用户。
问题是,位于该用户主目录中的文件/home/test/.ssh/known_hosts是该文件,还是没有将该文件笼中的用户?
尝试这个。 使用此方法可以将导航限制到其他用户的其他住所。
首先,感谢您的帖子! 对我来说非常有用; 但是我有两个疑问,这些疑问是由我的情况引起的:
我需要创建N个用户,这些用户可以独立和私有地访问其家,每个用户只能访问其家以存放,修改和删除其中的文件,而不必四处走动(我已经知道了这一点)。 它不需要通过ssh访问。
1.是否必须为每个用户创建一个框架,或者是否可以将不同的用户放在同一个框架中,但是每个用户都有其“私有”目录?
2.当访问(通过FTP客户端)由工具创建的所有目录时,是否可以将文件夹显示为干净? 还是我一路上做错了什么?
优秀的教程! 这对我有很大的帮助,我正在Ubuntu 2.17上的14.04版中对其进行测试,并且效果很好。 现在,我面临以下挑战,将用户关进笼子,使其无法移动到任何路径后,我希望他只能看到另一个路径中文件的内容。 我尝试了符号链接,但是当尝试在该文件上添加尾巴或猫时,它告诉我该文件不存在,尽管当与用户访问时,我可以在笼子的首页中列出该文件。
如果您能帮助我,我将非常感谢,在此先感谢您
您好,我已经按照整本手册进行操作,使用ssh登录时,它会自动关闭,并显示以下信息:
4月19日20:09:27701 toby sshd [172.16.60.22]:从62009端口2 sshXNUMX接受的测试密码
4月19日20:09:27701 toby sshd [0]:pam_unix(sshd:会话):会话已打开,供用户测试(uid = XNUMX)
4月19日20:09:27864 toby jk_chrootsh [1004]:现在输入带有参数的用户测试(XNUMX)的jail / opt / jail
4月19日20:09:27701 toby sshd [XNUMX]:pam_unix(sshd:会话):会话已关闭,供用户测试
谢谢
当我执行向用户授予ssh访问权限的最后一步时,它仍然关闭了连接🙁
可以从此用户创建的更改更改为root吗? 您的根? 它不让我。 会怎么样?谢谢您的帮助
非常感谢您的教程,我需要它来创建一个用户,该用户可以使用clonezilla制作映像并将其复制到第三方服务器,但无法在任何需要的地方聚集
好! 我需要知道一些事情。
是否可以使用FTP并具有这些权限以ROOT身份输入,通过FTP而不是SSH进行管理? 假设您创建了一个连接,隧道样式之类的东西,它是如何做到的? 配置VSFTPD文件?
Muchas Gracias!