首页 > 解决方案 > 限制用户访问仅一个特定文件,仅此而已

问题描述

我有一种情况,我希望用户能够对一个特定文件进行 rwx 访问,即 commandnano/bin/bashNOTHING 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。我说得对吗?

我现在用谷歌搜索了几个小时并玩了但还没有找到解决方案。你们能帮我吗,或者至少给我一些流行语太谷歌/试试?

标签: linuxpermissionsacl

解决方案


我最终按照本文中的步骤创建了一个 chroot 监狱:

https://www.tecmint.com/restrict-ssh-user-to-directory-using-chrooted-jail/

通过创建指向文件的硬链接,我需要用户能够编辑。我还添加nano了可用的命令。

它就像一个魅力。

我还跳过了子步骤 14 以添加ForceCommand internal-sftpsshd_config文件中,因为我仍然需要 ssh。

如果有人跑过这篇文章并想要添加nano

您需要将/lib/terminfo其所有内容添加到您的/home/myuser/lib/文件夹中!


推荐阅读