Linux 仅将用户访问限制为一个特定文件,而不限制其他文件

Linux 仅将用户访问限制为一个特定文件,而不限制其他文件,linux,permissions,acl,Linux,Permissions,Acl,我希望用户能够rwx访问一个特定的文件,即命令nano、/bin/bash,而不需要其他文件。用户将能够使用ssh登录 我按照Victor Wong的第二个回答回答了这个问题:用nano设置这个东西,但到目前为止,我无法限制对这个文件的访问 使用普通的linux权限,用户将始终能够导航到/etc,甚至可以读取/etc/groups等等 我试过这两个命令: setfacl-mu:myuser:0/然后setfacl-mu:myuser:rwx/etc/network/interfaces 但是li

我希望用户能够rwx访问一个特定的文件,即命令
nano
/bin/bash
,而不需要其他文件。用户将能够使用ssh登录

我按照Victor Wong的第二个回答回答了这个问题:用nano设置这个东西,但到目前为止,我无法限制对这个文件的访问

使用普通的linux权限,用户将始终能够导航到/etc,甚至可以读取/etc/groups等等

我试过这两个命令:

setfacl-mu:myuser:0/
然后
setfacl-mu:myuser:rwx/etc/network/interfaces

但是linux告诉我在
/etc/network/interfaces
上的权限被拒绝,我猜是因为对/的限制是优先的,或者只是排在第一位

我没有尝试根监狱,因为我读到,你仍然可以打开其他文件与纳米然后。我说得对吗


我在谷歌上搜索了几个小时,到处玩,但还没有找到解决办法。你们能帮我一下吗,或者至少给我一些流行语“太谷歌了”试试看吗?

哪个用户试过运行

setfacl -m u:myuser:0 / 
setfacl -m u:myuser:rwx /etc/network/interfaces
命令? /etc/网络/接口是否属于该用户? 您能否共享当前的
getfacl
命令输出? 请尽量对用户和操作更加具体

顺便问一下,对于文件,您可以尝试使用setfacl的
-M
选项,并使用特权用户,如
/etc/network/interfaces
的所有者

setfacl - u:myuser:rwx /etc/network/interfaces

您可以试试这个。

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

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

它就像一个符咒

我还跳过了第14步,将
ForceCommand internal sftp
添加到
sshd\u config
文件中,因为我仍然需要ssh

如果有人运行accross此帖子并希望添加
nano

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

我会使用相关的语言编写一个C程序,仔细地将其编译(成一个静态可执行文件),让同事审阅该C代码,并使该可执行文件成为该特定用户的登录shell(请参阅、、、和…)

编写setuid可执行文件时要小心(一个bug会打开一个巨大的安全漏洞)。阅读


顺便说一句,一旦您的用户运行了
/bin/bash
,他就可以做任何事情。也许你只想允许一次?

谢谢你的帮助。在尝试了更多之后,我最终使用了chroot监狱。这是我们的初衷