分页: 1 / 1

[救命]如何禁止一些危险的命令

发表于 : 2008-12-02 7:23
roylez
我承认自己很蠢,一个错误犯了2次了。

自己的笔记本,向来都是用sudo halt关机的。但问题是我也是服务器的管理员,结果我这样关掉服务器2次了。第一次犯了这个错之后,我在/etc/sudoers里面加了:

代码: 全选

roylez ALL=(ALL)ALL
roylez ALL=!/sbin/halt,!/sbin/shutdown,!/sbin/reboot
结果这次还是给关机了。似乎没有造成什么损失,不过被他们骂是肯定的。

大家有什么办法吗?

正确的sudoers语法,zsh的preexec()函数,或者是其他的都可以。

没有其他办法之前,我打算以后再也不用手敲命令关机了。

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 8:03
roylez
服务器上的halt和reboot居然在/usr/bin,我分特了。

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 8:18
冲浪板
换个命令,shutdown,可以发通知给登陆的人

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 8:41
xyywll
好像一般用 SELinux 做这个事~

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 8:48
eexpress
不遵循系统规则的家伙。这已经不是简单禁止命令的事情了。否则,有个文件禁止的。球猫知道。异类的,我才不搞。

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 8:54
xhy
修改那几个关机程序的源码 加上确认机制

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 11:04
hellojinjie
出馊主意我在行

代码: 全选

echo 'alias halt="echo do-you-really-want-to-halt?-use-/sbin/halt-to-halt"' >> ~/.bashrc
alias 可不可以覆盖命令的?

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 11:12
bones7456
hellojinjie 写了:出馊主意我在行

代码: 全选

echo 'alias halt="echo do-you-really-want-to-halt?-use-/sbin/halt-to-halt"' >> ~/.bashrc
alias 可不可以覆盖命令的?
可以的.也可以在 alias 里面写个if,判断一下输入.

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 11:58
roylez
hellojinjie 写了:出馊主意我在行

代码: 全选

echo 'alias halt="echo do-you-really-want-to-halt?-use-/sbin/halt-to-halt"' >> ~/.bashrc
alias 可不可以覆盖命令的?
roylez@Lancelot> halt ~
zsh: no matches found: do-you-really-want-to-halt?-use-/sbin/halt-to-halt
roylez@Lancelot> sudo halt
....//屏幕黑掉了........ ~
果然是馊主意……

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 12:29
bones7456
roylez 写了:
hellojinjie 写了:出馊主意我在行

代码: 全选

echo 'alias halt="echo do-you-really-want-to-halt?-use-/sbin/halt-to-halt"' >> ~/.bashrc
alias 可不可以覆盖命令的?
roylez@Lancelot> halt ~
zsh: no matches found: do-you-really-want-to-halt?-use-/sbin/halt-to-halt
roylez@Lancelot> sudo halt
....//屏幕黑掉了........ ~
果然是馊主意……
呵呵,呼略了一点,sudo以后,当前用户的alias无效的...

LZ还是把halt挪个地方,用个带提示的脚本替代halt吧.

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 12:38
hellojinjie

代码: 全选

sudo echo 'alias halt="echo do-you-really-want-to-halt?-use-/sbin/halt-to-halt"' >> ~/.bashrc
为什么加了sudo后 不是加到/root/.bashrc ,而是加到用户的配置文件中

sudo不能作用于 从定向的吗

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 13:18
aBiNg
不想用就改个名就是了。

sudoers格式的问题,估计不是分两行。这样先在本本上试试,路径自己看:

代码: 全选

roylez ALL=(ALL)ALL,!/sbin/shutdown,...
个人本子,直接suid,用什么sudo关机啊,金。

Re: [救命]如何禁止一些危险的命令

发表于 : 2008-12-02 16:02
roylez
aBiNg 写了:不想用就改个名就是了。

sudoers格式的问题,估计不是分两行。这样先在本本上试试,路径自己看:

代码: 全选

roylez ALL=(ALL)ALL,!/sbin/shutdown,...
个人本子,直接suid,用什么sudo关机啊,金。
因为我不是太喜欢改默认安装的bin里面的东西。sudoer的问题找到了,因为服务器上面的halt不在/sbin而是/usr/bin,orz。

总之,我现在定义了一个fluxbox的key chain来关机。应该比敲命令安全。