我想编辑我的sudoers文件,以便用户根据login的位置拥有不同的权限。 我想有3个不同的位置:外部networking(互联网),内部(本地局域网)和控制台(用户坐在电脑前)。 定义外部和内部会是这样的:
Host_Alias PRIVNET = 10.6.66.0/25, 10.6.67.128/28
但是如何定义控制台呢?
我不希望用户能够对防火墙或sudoers进行更改,例如,如果出现问题,或者即使他的帐户被盗用,他不在位。
我只是想确保用户在进行关键更改时在附近。
sudoers主机的定义(和Host_Alias)是用来定义这个sudoers文件入口应用的主机。 换句话说,它定义了用户在这台主机上拥有哪些权限,而不是从哪个主机拥有这些权限。 (这个)
所以,长话短说,你想做什么,不能做一个sudoers条目。
如果你能做到这一点,我会认为这将在PAM(Pluggable Authentication Modules)中完成。 或者也许suoders文件( man sudoers
)的'requiretty'指令。
不过,我想你可能想提一下你的目标。 从安全angular度来看,这并不适合我。 我认为让不同级别的帐户拥有不同的帐户更有意义,然后只允许这些帐户从某个IP地址login。 然后你有两个macros安全级别,密码validation和基于IP。 小学阶段是帐户 – 我认为无论他们从哪里login,帐户都应该能够做同样的事情。
使用sudoers文件来限制命令似乎有点让我发现,所以我只会用它作为我上面提到的一个额外的安全层。
所以最后我的build议是: