2012-07-03 118 views
0

在Linux中:如何只允许sudo指定路径?

我想限制用户只能在指定的路径上执行sudo。

须藤文件模式的工作原理上的/ home /克罗梅/ REVA

但须藤文件模式失败了的/ home /克罗梅

谢谢!

+0

我在visudo上找不到这样的部分,也许我错过了 – wei

+0

你到底想要什么?因为Krome是一个目录....所以你必须使用sudo chmod -R/home/Krome ???或别的什么 – shobhit

回答

0

我不认为这是可能的,我很确定这是不合理的。

chmod将在/home/Krome内工作,如果它是用户的主文件夹。

我认为你需要一个普通用户(没有sudo),其他所有东西都可以通过将该用户添加到组中并将一些文件夹共享到这些组来管理。

0

添加到/etc/sudoers类似下面的一行:

%users ALL = NOPASSWD: /bin/chmod [ugoa][-+=][rwxXst] /home/Krome/* 

它基本上说,所有小组成员users可以象征性的模式上的任何下/home/Krome/路径调用sudo chmod

有关更多详细信息,请参阅man sudo

+0

谢谢,我会尝试在我身边。并在这里反馈 – wei

+0

@ maxim-yegorushkin不会像'''sudo chmod 777/home/Krome/tmpfile/root'''让我chmod'''/ root'''?如果是这样,那是一个很大的安全漏洞。 – alexandernst

1

限制用户或进程在一定路径可以chroot完成 - 这里的问题是,chroot$PATH的命令和动态加载的对象将不再是可访问的,所以你需要一个静态链接外壳,它执行chroot以及内置的命令,用户将能够发出命令。