加入收藏 | 设为首页 | 会员中心 | 我要投稿 阜阳站长网 (https://www.0558zz.cn/)- AI行业应用、低代码、混合云存储、数据仓库、物联网!
当前位置: 首页 > 云计算 > 正文

高效的Linux系统管理员需要具备的技巧

发布时间:2022-07-20 11:11:22 所属栏目:云计算 来源:互联网
导读:跟大家分享的文章是关于高效的Linux系统管理员需要具备的技巧。好的系统管理员区分在效率上。如果一位高效的系统管理员能在10分钟内完成一件他人需要2个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间就是金钱。
  跟大家分享的文章是关于高效的Linux系统管理员需要具备的技巧。好的系统管理员区分在效率上。如果一位高效的系统管理员能在10分钟内完成一件他人需要2个小时才能完成的任务,那么他应该受到奖励(得到更多报酬),因为他为公司节约了时间,而时间就是金钱。以下这些技巧可以节约时间 —— 即使没有因为高效而得到更多的报酬,但至少可以有更多的自由支配时间。对于Linux入门的小伙伴一定要看看这篇文章,下面我们就来看一看高效的Linux系统管理员需要具备的技巧。
 
  技巧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与 输入reboot或shutdown太接近了。吓得手心冒汗了吧 — 特别是在生产机器上执行这个操作时。
 
  放心吧,在进行此操作时,机器不会重启。继续操作:
 
  # 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屏幕。移动箭头键,这样可以保留在此屏幕上,而不是进入正常启动。
 
  重启后的GRUB屏幕
  图1.重启后的GRUB屏幕
 
  然后,使用箭头键选择要启动的内核,并输入E编辑内核行。然后便可看到如图2所示的屏幕:
 
  准备编辑内核行
  图2:准备编辑内核行
 
  再次使用箭头键突出显示以kernel开始的行,按E编辑内核参数。到达如图3所示的屏幕时,在图3中所示的参数后追加数字1即可:
 
  在参数后追加数字1
  图3.在参数后追加数字1
 
  然后按Enter和B,内核会启动到单用户模式。然后运行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。此技术支持的机器称为tech。图4解释了设置过程。
 
  在防火墙上砸一个洞
  图4.在防火墙上砸一个洞
 
  以下是操作步骤:
 
  检查什么是允许做的,但要确保您问对了人。大多数人都担心您打开了防火墙,但他们不明白这是完全加密的。而且,必须破解外部机器才能进入公司内部。不过,您可能属于 “敢作敢为” 型的人物。自己进行判断应该选择的方式,但不如意时不抱怨别人。
 
  使用-R标记通过SSH从ginger连接到blackbox.example.com。假设您是ginger上的根用户,tech需要根用户ID来帮助使用系统。使用-R标记将blackbox上端口2222的说明转发到ginger的端口22上。这就设置了SSH通道。注意,只有SSH通信可以进入ginger:您不会将ginger放在无保护的Internet上。可以使用以下语法实现此操作:
 
  ~# ssh -R 2222:localhost:22 thedude@blackbox.example.com
 
  进入blackbox后,只需一直保持登录状态。我总是输入以下命令:
 
  thedude@blackbox:~$ while [ 1 ]; do date; sleep 300; done  
 
  使机器保持忙碌状态。然后最小化窗口。
 
  现在指示tech上的朋友使用SSH连接到blackbox,而不需要使用任何特殊的SSH标记。但必须把密码给他们:
 
  root@tech:~# ssh thedude@blackbox.example.com
 
  tech位于blackbox上后,可以使用以下命令从SSH连接到ginger:
 
  thedude@blackbox:~$: ssh -p 2222 root@localhost
 
  Tech将提示输入密码。应该输入ginger的根密码。现在您和来自tech的支持可以一起工作并解决问题。甚至需要一起使用屏幕!(参见 技巧4)。
 
  技巧6:通过SSH通道进行远程VNC会话
 
  VNC或虚拟网络计算已经存在很长时间了。通常,当远程服务器上的某类图形程序只能在此服务器上使用时,我才需要VNC。
 
  例如,假设在 技巧5中,ginger是一台存储服务器。许多设备都使用GUI程序来管理存储控制器。这些GUI管理工具通常需要通过一个网络直接连接到存储服务器,而这个网络有时保存在专用的子网络中。因此,只能通过ginger访问这个GUI。
 
  可以尝试使用-X选项通过SSH连接到ginger并启动它,但这对带宽要求很高,您需要忍受等待的痛苦。VNC是一个网络友好的工具,几乎适用于所有操作系统。
 
  假设设置与技巧5中的一样,但希望tech能访问VNC而不是SSH。对于这种情况,需要进行一些类似的操作,不过转发的是VNC端口。执行以下操作步骤:
 
  在ginger上启动一个VNC服务器会话。运行以下命令:
 
  root@ginger:~# vncserver -geometry 1024x768 -depth 24 :99
 
  这些选项指示启动服务器,分辨率为1024×768,像素深度为每像素24位。如果使用较慢的连接设置,8也许是更好的选项。使用:99指定可访问VNC服务器的端口。VNC协议在5900处启动,因此:99表示服务器可从端口5999访问。
 
  启动该会话时,要求您指定密码。用户ID与启动VNC服务器时的用户相同(本例中就是根用户)。

(编辑:阜阳站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    热点阅读