linux - 限制用户访问仅一个特定文件,仅此而已
问题描述
我有一种情况,我希望用户能够对一个特定文件进行 rwx 访问,即 commandnano
和/bin/bash
NOTHING ELSE。用户将能够使用 ssh 登录。
我从这个问题中遵循了 Victor Wong 的第二个答案:How to limit user commands in Linux to setup the thing with nano,但到目前为止,我无法设法限制对这个文件的访问。
使用普通的 linux 权限,用户将始终能够导航到 /etc 甚至读取 /etc/groups 等等。
我尝试了这两个命令:
setfacl -m u:myuser:0 /
进而setfacl -m u:myuser:rwx /etc/network/interfaces
但是后来linux告诉我permission denied on /etc/network/interfaces
,我猜是因为对/的限制被优先考虑或者只是首先出现。
自从我读到你仍然可以用 nano 打开其他文件后,我没有尝试 root jail。我说得对吗?
我现在用谷歌搜索了几个小时并玩了但还没有找到解决方案。你们能帮我吗,或者至少给我一些流行语太谷歌/试试?
解决方案
我最终按照本文中的步骤创建了一个 chroot 监狱:
https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/
通过创建指向文件的硬链接,我需要用户能够编辑。我还添加nano
了可用的命令。
它就像一个魅力。
我还跳过了子步骤 14 以添加ForceCommand internal-sftp
到sshd_config
文件中,因为我仍然需要 ssh。
如果有人跑过这篇文章并想要添加nano
:
您需要将/lib/terminfo
其所有内容添加到您的/home/myuser/lib/
文件夹中!
推荐阅读
- web-applications - 如何在 kubeadm 集群上公开 Web 应用程序?
- html - 如何定位页脚以隐藏在所有内容下,如下所示?
- go - golang struct default value using bson
- sql-server-2008 - 为缺失的数据库值填充静态值
- python - 读取 Excel 文件时将 pandas MultiIndex 协调为字符串
- python - Access to global variables when importing a custom class
- ios - Pull to refresh in flutter with iOS look and feel
- algorithm - Hanoi tower recursion with a move function that moves indexed rings
- java - 如何在运行应用程序时传递一个额外的 jar 来执行我的 java 命令?
- c - 向子进程发送信号时出现问题