我有一个 root 用户,他在一个目录中有一组输入文件
/home/root/inputs/input1.txt
。
我创建了另一个虚拟用户 /home/dummy
,他无法查看/home/root/inputs 下的输入文件。但是这个虚拟用户将创建一个 c 程序并执行它。这个程序应该使用下面的输入
/home/root/inputs/input1.txt.
我怎样才能做到这一点?
我不希望虚拟用户从他的代码中查看输入文件(通过使用 system(ls
,cat
)),但我希望虚拟用户调用二进制文件和使用此输入。
sudo -u dummy ./a.out < /home/root/inputs/input1.txt
拒绝授予我权限。
正在为我的类(class)创建这个脚本。
最佳答案
你不能那样做,因为 a.ou
当你使用 <
时它没有读取文件. shell 是。您需要更改 a.out 以便它接受参数,然后您将能够运行 sudo -u dummy ./a.out /home/root/inputs/input1.txt
它将起作用。
关于linux - Unix : Restricting a directory to an user,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17946854/