分页: 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来关机。应该比敲命令安全。