我遇到了一些用户滥用chmod的问题
chmod 777 ~ -Rf
我想禁用chmod,这样只有拥有完整sudo权限(IE IT)的用户才有权限。 这有什么不利因素可以忽略吗?
apache或Linux的任何其他常见部分是否需要访问我忽略的chmod?
另外,最好的方法是做到这一点:
chmod 700 /bin/chmod
谢谢!
编辑:
为了澄清,我知道有办法绕过它,而且我知道教育我的用户是正确的事情。 但是人们并不总是做我告诉他们做的事情。 计算机将…如果我强迫我的用户在使用chmod之前询问我,我可以教他们为什么他们的权利被拿走,指导他们正确地做到这一点,并有select地授予他们sudo权利chmod他们需要chmod。
与此同时,我对于linux shell的一个基本命令感到犹豫不决。 我问的是,有没有人知道我可能忽略的任何副作用? IE在创build文件的时候,是不是调用chmod来设置初始权限,还是那个不相关的? 文件副本是否需要chmod? 是否有标准服务依赖chmod,如果只有root访问chmod,可能会中断服务?
你允许用户使用证书来SSH吗? 或者编写脚本(shell,CGI等)?
如果不访问chmod,他们将无法设置必要的权限来使ssh证书正常工作(有些人可能会看到这是一个优势,但是如果是这种情况,您应该编辑pam.conf来完全禁止它),他们不得不将脚本作为参数调用(例如, perl script.pl ),而不是直接调用脚本,并且由于权限设置不正确,web服务器将拒绝运行它们的CGI。
根据用户的默认组是什么,以及如何设置默认的umask,创build的文件也可能无法被web服务器读取,因此根本不能提供,CGI或其他。 另外,缺lesschmod意味着您无法通过scp移除的文件更正问题权限,这是默认情况下保留的权限。
…给用户sudo权限chmod可能是一个更大的蠕虫jar – 然后他们将能够以root身份运行命令,而不是自己,所以他们可以影响任何用户的权限。 你最好做一个“chmodders”组,将chmod的权限设置为0750,并将人员添加到允许使用它的组中。
这听起来像是在寻找解决人类问题的技术scheme。
如果你仍然想这样做,你可以通过将二进制文件从/bin/chmod到/root/chmod等其他path来完成。
为了使用户认为该工具仍然可用,您可以创build一个脚本,在/bin下的原始path中不执行任何操作。
这样,除非指定完整path/root/chmod否则可以禁用chmod工具。
缺点是chmod不能用于以非root用户身份运行的任何脚本,这可能会破坏一些事情。
目前还不清楚你的真正需求是什么,但可能会看到这个问题和解决scheme。