LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: ralf

如何阻止非root用户再shell下用Ctrl+Alt+Delete重启电脑

[复制链接]
发表于 2003-6-17 01:01:57 | 显示全部楼层
最初由 javalee 发表
按道理是这样的说!
我试了试,
[javalee//home/javalee]fsck
ksh: fsck: not found
[javalee//home/javalee]/sbin/fsck
fsck 1.27 (8-Mar-2002)

No devices specified to be checked!
用相对路径出现错误,而用绝对路径却可以!疑惑ing...


这个应该是正常的吧?
我发现你用的是ksh,难道里面没有PATH这个概念?不大可能吧
使用相对路径的时候,它只会在$PATH中找,如果你的$PATH不包括/sbin,那命令找不到这就是应该的了。绝对路径就不一样了。
发表于 2003-6-17 01:10:17 | 显示全部楼层
这个应该是正常的吧?
我觉得有些蹊跷!,怎么可以让普通用户执行系统命令呢?--这也太不安全了吧!,我想是不是跟umask有关?如果把系统命令改成rwxr--r--,那么用绝对路径也无法执行!
[javalee//home/javalee/myshell]fsck
ksh: fsck: not found
[javalee//home/javalee/myshell]/sbin/fsck
fsck 1.27 (8-Mar-2002)

No devices specified to be checked!
未改权限之前
[javalee//home/javalee/myshell]su -
Password:
[root//root]chmod 744 /sbin/fsck
[root//root]exit
[javalee//home/javalee/myshell]fsck
ksh: fsck: not found
[javalee//home/javalee/myshell]/sbin/fsck
ksh: /sbin/fsck: cannot execute - Permission denied
改了权限之后.
因此,我认为如果出于安全需要,还是要把/sbin,/usr/sbin下的文件设置为744好些
发表于 2003-6-17 11:49:31 | 显示全部楼层
我也想这个问题。
但是系统这么设置umask是不是考虑到,这些系统命令普通用户有时候也要使用呢?
仅供参考
发表于 2003-6-17 13:07:39 | 显示全部楼层
最简单的方法就是创建/etc/shutdown.allow文件,在其中加入有权关机的用户名就行了。
 楼主| 发表于 2003-6-18 18:28:42 | 显示全部楼层

这样做有问题

如果修改/sbin和/usr/sbin中的全部程序属性为用户不可执行回出现问题(进入Xwindow后会自动推出)。至少对于我用的Mandrake 9.1来说是这样。解决方法是将/usr/sbin/chksession改权限为747,即给予其它用户可执行的权限。
发表于 2003-6-18 18:35:37 | 显示全部楼层
既然能接触键盘 难道就不能接触reset键啊
 楼主| 发表于 2003-6-18 18:50:22 | 显示全部楼层

如果有人telnet过来......

然后......我的电脑就处于极大的危险中了!
也许你会说telnet本身就不安全,所以我本来不应该开启。但是万一电脑出现了出现了键盘加鼠标一起死锁(我遇到过一次),救命就需要靠它了!
发表于 2003-6-19 17:00:30 | 显示全部楼层

可以这样子做:

只受权给root用ctrl+alt+del的权限。
修改/etc/inittab,在这一行中添加-a:

ca::ctrlaltdel:/sbin/shutdown -a -t3 -r now

-a 意思是通知shutdown命令去寻找/etc/shutdown.allow文件,检查当前用户的用户名是否在shutdown.allow中,如果在,就重新起动,不在,就拒绝重起。/etc/shutdown.allow的文件格式很简单,就是用户名。每个用户名一行。这样,将root写入到/etc/shutdown.allow,就实现了楼主的目的了。
发表于 2009-12-30 12:54:07 | 显示全部楼层
浏览历史精华帖的时候看到了这个留有“悬念”的老帖子,在下顺便解决它吧。


首先,楼主不应该说在 shell 下按 CAD 重启,而应该说在 Linux 控制台下按此三键。在 xterm 里头也有 shell, 但很明显这时的 CAD 指令交由 X Window 处理,根本不会理会 /etc/inittab 里头的东西。

跟帖的兄弟们似乎都没有意识到这样的一个事实:ca::ctrlaltdel 后面的命令一直以超级用户身份执行,它根本就不理会控制台的当前用户是谁。实际上,启动 Linux 后,操作系统就一直在后台监控着这三个按键。甚至在没有任何用户登录的情况下,一样有效。

所以,只要能够接触到控制台,只能执行该指令。如果确实不愿意用 "#" 屏蔽掉该指令的话,就要用 vlock 等工具锁住控制台。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表