系统管理工具包: 问题和陷阱
2008-11-12 08:27:50 来源:WEB开发网以 root 用户登录
正如您所知道的,root 用户在 UNIX 系统中具有所有的权限。root 用户可以执行任何操作,正如常说的,“能力越强,责任越大”。仍然有一些用户坚持以 root 用户登录系统,即使他们所执行的操作并不需要用到其中所有的权限。
在任何具有管理员权限的系统中,您应该始终为自己创建(并使用!)一个常规的用户帐户。而在执行需要 root 权限的操作时,使用系统中的 su(请参见清单 7)或 sudo(请参见清单 8)命令(可以使用您的系统中所提供的任何一个)临时切换到 root 用户。
清单 7. 使用 su 命令临时切换到 root 用户
chrish@Bender [514]$ su -
Password:
#
清单 8 使用了 sudo 命令,以 root 用户的身份运行一个命令。
清单 8. 使用 sudo 命令,以 root 用户的身份运行一个命令
chrish@Bender [517]$ sudo id
Password:
uid=0(root) gid=0(wheel) groups=0(wheel), 1(daemon), 2(kmem), 3(sys), 4(tty),
29(certusers), 5(operator), 80(admin), 20(staff)
为什么要避免以 root 用户运行呢?错误的 rm 命令、或不小心将 tar 文件释放到错误的位置,这都可能对您的系统造成损坏,并需要大量的修复工作。
确保系统的安全
需要确保网络中所有系统的安全,这是毫无疑问的。保留服务器或路由器中的缺省密码,这无异于邀请那些不择手段的(甚至仅仅只是好奇的)人侵入系统。入侵者可能有意地或无意地对系统造成损害,使系统遭受破坏,或者更糟,利用系统中的漏洞偷偷地对其进行修改,以便分发垃圾邮件、盗版软件或其他的东西。
确保系统安全的一个好的策略是拒绝任何操作,而不是允许任何操作。具体来说,关闭所有并不真正需要的网络服务,阻塞除了需要向 Internet(或您的局域网 (LAN),假设您位于防火墙的保护下)上其他的用户提供服务的网络端口之外的其他进入的网络端口,并且删除并不真正使用该系统的所有用户。
在此基础上,您可以重新部署服务、打开网络端口并添加所需的用户。这看上去是额外的工作,但使得您可以确切地了解系统中所发生的事情。
在可能的情况下,合理的密码策略也可以增强安全性。许多企业环境都具有相应的密码策略,通常需要定期地更换密码,这样做实际上反而鼓励了不好的密码行为。如果用户本来具有一个强密码,让他们频繁地更改密码可能会使得他们忘记新密码(因此必须请求您的帮助,从而增加了您的工作)或者将密码写在纸上并放在计算机附近。您可能会感到惊讶,许多的用户会将自己最重要的密码写在键盘或鼠标垫下面的胶粘便签上。
相关的工具,如功能强大的 crack,它是一种基于字典的密码测试程序(请参见参考资料部分中相关的 Wikipedia 条目),还可以通过测试密码文件或其他的存储库中的单词,帮助您清除弱密码、常见的单词拼写错误(如 l33t)并执行其他的单词处理算法(请参见清单 9)。
清单 9. 使用 crack 检查弱密码
chrish@Bender [503]$ cp /etc/passwd .
chrish@Bender [504]$ sudo crack passwd
请注意,您所操作的是密码文件的副本(您系统中的密码可能存储在 /etc/shadow 中或网络上的集中式存储库中),而不是这个活动的 文件。您永远无法知道什么时候会出现问题!
总结
本文向您介绍了一些处理系统管理陷阱的方法,并解释了对于某个问题来说,最直观的解决方案未必是正确的解决方案。现在,您应该可以冷静地处理常见的灾难,并通过增量备份和确保系统安全的措施为将来的问题做好准备。通过利用 UNIX 系统中所提供的各种工具,可以为您节省时间。
更多精彩
赞助商链接