知识屋:更实用的电脑技术知识网站
所在位置:首页 > 操作系统 > linux

“懒惰” Linux 管理员的 10 个关键技巧

发布时间:2014-09-05 17:25:42作者:知识屋

学会这 10 个技巧后,您将成为世界上最强大的 Linux® 系统管理员,整个世界是有点夸张,但要在一个大团队中工作,这些技巧是十分必要的。学习 SHH 通道、VNC、密码恢复、控制台侦察等等。各个技巧都附有例子,可以将这些例子复制到自己的系统中。

好的系统管理员区分在效率上。如果一位高效的系统管理员能在 10 分钟内完成一件他人需要 2 个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间就是金钱,不是吗?

技巧是为了提高管理效率。虽然本文不打算对所有 技巧进行讨论,但是我会介绍 “懒惰” 管理员所用的 10 个基本法宝。这些技巧可以节约时间 ―― 即使没有因为高效而得到更多的报酬,但至少可以有更多的时间去玩。

技巧 1:卸载无响应的 DVD 驱动器

网络新手的经历:按下服务器(运行基于 Redmond 的操作系统)DVD 驱动器上的 Eject 按钮时,它会立即弹出。他然后抱怨说,在大多数企业 Linux 服务器中,如果在那个目录中运行某个进程,弹出就不会发生。作为一名长期的 Linux 管理员,我会重启机器。如果我不清楚正在运行什么,以及为何不释放 DVD 驱动器,我则会弹出磁盘。但这样效率很低。

下面介绍如何找到保持 DVD 驱动器的进程,并轻松弹出 DVD 驱动器:首先进行模拟。在 DVD 驱动器中放入磁盘,打开一个终端,装载 DVD 驱动器:

# mount /media/cdrom
# cd /media/cdrom
# while [ 1 ]; do echo "All your drives are belong to us!"; sleep 30; done

现在打开第二个终端并试着弹出 DVD 驱动器:

# eject

将得到以下消息:

umount: /media/cdrom: device is busy

在释放该设备之前,让我们找出谁在使用它。

# fuser /media/cdrom

进程正在运行,无法弹出磁盘其实是我们的错误。

现在,如果您是根用户,可以随意终止进程:

# fuser -k /media/cdrom

现在终于可以卸载驱动器了:

# eject

fuser 很正常。

 

技巧 2:恢复出现问题的屏幕

尝试以下操作:

# cat /bin/cat

注意!终端就想垃圾一样。输入的所有内容非常零乱。那么该怎么做呢?

输入 reset。但是,输入 reset 与输入 rebootshutdown 太接近了。吓得手心冒汗了吧 ― 特别是在生产机器上执行这个操作时。

放心吧,在进行此操作时,机器不会重启。继续操作:

# reset

现在屏幕恢复正常了。这比关闭窗口后再次登陆好多了,特别是必须经过 5 台机器和 SSH 才能到达这台机器时。

 

技巧 3:屏幕协作

来自产品工程的高级维护用户 David 打电话说:“为什么我不能在您部署的这些新机器上编译 supercode.c”。

您会问他:“您运行的是什么机器?”

David 答道:“ Posh”。(这个虚够的公司将它的 5 台生产服务器以纪念 Spice Girls 的方式命名)。这下您可以大显身手了,另一台机器由 David 操作:

# su - david

转到 posh:

# ssh posh

到达之后,运行以下代码:

# screen -S foo

然后呼叫 David:

“David,在终端运行命令 # screen -x foo”。

这使您和 David 的会话在 Linux shell 中联接在一起。您可以输入,他也可以输入,但彼此可以看到对方所做的事情。这避免了进入其他层次,而且双方都有相同的控制权。这样做的好处是 David 可以观察到您的故障诊断技巧,并能准确了解如何解决问题。

最后大家都能看到问题所在:David 的编译脚本对一个不在此新服务器上的旧目录进行了硬编码。将它装载后再次编译即可解决问题,然后 David 继续工作。您则可以继续之前的娱乐活动。

关于此技巧需要注意的一点是,双方需要以同一用户登录。screen 命令还可以:实现多个窗口和拆分屏幕。请阅读手册页获取更多相关信息。

对于 screen 会话,我还有最后一个技巧。要从中分离并让它打开,请输入 Ctrl-A D (即按住 Ctrl 键并点击 A 键。然后按 D 键)。

然后通过再次运行 screen -x foo 命令可以重新拼接起来。

 

技巧 4:找回根密码

如果忘记根密码,就必须重新安装整台机器。更惨的是,许多人都会这样做。但是启动机器并更改密码却十分简单。这并非在所有情况下都适用(比如设置了一个 GRUB 密码,但也忘记了),但这里介绍一个 Cent OS Linux 示例,说明一般情况下的操作。

首先重启系统。重启时会跳出如图 1 所示的 GRUB 屏幕。移动箭头键,这样可以保留在此屏幕上,而不是进入正常启动。


图 1. 重启后的 GRUB 屏幕
重启后的 GRUB 屏幕

然后,使用箭头键选择要启动的内核,并输入 E 编辑内核行。然后便可看到如图 2 所示的屏幕:


图 2:准备编辑内核行
准备编辑内核行

再次使用箭头键突出显示以 kernel 开始的行,按 E 编辑内核参数。到达如图 3 所示的屏幕时,在图 3 中所示的参数后追加数字 1 即可:


图 3. 在参数后追加数字 1
在参数后追加数字 1

然后按 EnterB,内核会启动到单用户模式。然后运行 passwd 命令,更改用户根密码:

sh-3.00# passwd
New UNIX password:
Retype new UNIX password:
passwd: all authentication tokens updated successfully

现在可以重启了,机器将使用新密码启动。

 

技巧 5:SSH 后门

有很多次,我所在的站点需要某人的远程支持,而他却被公司防火强阻挡在外。很少有人意识到,如果能通过防火墙到达外部,那么也能轻松实现让外部的信息进来。

从本意讲,这称为 “在防火墙上砸一个洞”。我称之为 SSH 后门。为了使用它,必须有一台作为中介的连接到 Internet 的机器。

在本例中,将这样台机器称为 blackbox.example.com。公司防火墙后面的机器称为 ginger。此技术支持的机器称为 te

(免责声明:文章内容如涉及作品内容、版权和其它问题,请及时与我们联系,我们将在第一时间删除内容,文章内容仅供参考)
收藏
  • 人气文章
  • 最新文章
  • 下载排行榜
  • 热门排行榜