Ubuntu 13.04 系统管理初探

原创
系统
上周,51CTO系统频道从安装升级和桌面应用方面全方位体验了一下 Ubuntu 13.04 (代号 Raring Ringtail),对此感兴趣的网友可以通过《Ubuntu 13.04 来袭:铆劲浣熊酷炫体验》查看详细过程。本篇文章将从系统管理方面入手,继续探究Ubuntu 13.04 的奥秘。

【51CTO原创稿件】Ubuntu 13.04 (代号 Raring Ringtail)正式版于上个月底发布,很多对 Ubuntu 情有独钟的网友已经迫不及待尝鲜了,51CTO系统频道也体验了一下,大家可以通过《Ubuntu 13.04 来袭:铆劲浣熊酷炫体验》查看。本篇文章将从系统管理方面入手,继续探究Ubuntu 13.04 的奥秘。

  1 设置shell版本

  /bin/sh 是 /bin/dash,的符号链接。Ubuntu为了加速开机的速度使用了dash来取代传统的bash,/bin/sh -> /bin/bash改成了/bin/sh -> /bin/dash。虽然说dash体积有比较小开机时速度也比较快,但是在开机之后使用某些原本在bash环境可以正常使用的脚本,换到了dash之后反而会出现一些莫名其妙的问题,这里笔者要改回去。

  #dpkg-reconfigure dash(选择否即可)

  图 1 dpkg-reconfigure 工作界面

  再次检查一下, ls /bin/sh -al 发现软链接指向/bin/bash就可以了。

  说明:dpkg-reconfigure用来重新配制一个已经安装的软件包,通常把什么软件“弄坏了”,都可以通国dpkg-reconfigure来重新配置。例如dpkg-reconfigure xserver-xfree86 配置显卡,显示器鼠标,键盘.,dpkg-reconfigure locales 产生locale及default locale,dpkg-reconfigure etherconf 配置以太网参数。

  Debian Almquist shell,缩写为dash,一种 Unix shell,相容于POSIX标准。它比 Bash 小,只需要较少的磁盘空间,但是它的对话性功能也较少。它由 NetBSD版本的Almquist shell (ash)发展而来,于1997年,由赫伯特·许(Herbert Xu)移植到Linux上,于2002年改名为 dash。#p#

  2 介绍一下查看Ubuntu版本的几个方法

  对于桌面系统查看系统设置中详细信息中的即可如图1

  图2

  对于服务器版本,如果没有安装X Window可以使用如下几个命令:

  方法一:#lsb_release -a

  方法二:#uname -a

  方法三:#cat /etc/issue

  方法四:#cat /etc/lsb-release

  以上几个命令的输出略有不同如图3。

  图3 查看Ubuntu版本

  3 服务器版本语言设置

  #apt-get -y install language-pack-cn-base language-pack-cn

  更新中文UTF的本地环境:

  sudo locale-gen zh_CN.UTF-8
  sudo update-locale LANG=zh_CN.UTF-8

  服务器版本时选择语言为English的原因。如果设置了中文,可以通过下面的方法修改系统语言为英文:

  sudo nano /var/lib/locales/supported.d/local 改成 en_US.UTF-8 UTF-8
  sudo vim /etc/default/locale 将 LANG=”zh_CN.UTF-8″ LANGUAGE=”zh_CN:zh”

  修改为:LANG=”en_US.UTF-8″ LANGUAGE=”en_US:en”

  sudo locale-gen

  reboot 重启系统之后,ubuntu server  系统语言显示英文,也就不再出现乱码中文了。

  如果出现warning: setlocale: LC_CTYPE: cannot change locale (en_US)

  执行下列指令:

sudo locale-gen en_US.UTF-8
sudo update-locale LANG=en_US.UTF-8

#p#

  4 使用tasksel架建LAMP

  本来Ubuntu下架建LAMP,需要apt安装很多包,记住那些包的名字比较麻烦,可以使用tasksel安装LAMP套件。先说说什么是Tasksel,它是一个Debian下的安装任务套件,如果你为了使你的系统完成某一种常规功能,而需要安装多个软件包时,我们就可以使用它了。这句话是什么意思呢?比如说,我们需要安装LAMP架设一个web服务器,为了完成这个功能,我们一般需要安装很多个软件包,用apt的话,我们就需要分别安装这些包(包含apache2、php5等等),以便构成一个完整的(符合我们要求的)LAMP系统。而如果使用tasksel的话,就可以用它方便的给我们安装一个完整的LAMP套件,而无须我们去关心具体需要由哪些包来构成这个统一的套件。需要指出的是,通过tasksel软件包不仅可以安装LAMP组件,还可以安装其他服务器组件,比如DNS服务器,Mail服务器,打印服务器等。其实使用tasksel安装LAMP套件的方法很简单:

  sudo tasksel install lamp-server

  然后:

  sudo tasksel

  然后在tasksel界面中选LAMP-Server就OK了如图4。

  图4 工作界面

  安装过程中会提示你输入mysql的root密码。

  $sudo vi /var/www/info.php
  <?php
  phpinfo();
  ?>
  $sudo /etc/init.d/apache2 restart

  安装完成了,现在你可以运行apache2来启动apache了,然后在浏览器里输入127.0.0.1/info.php,看看是不是已经显示测试页面了如图5:

  图5

  下面通过命令:sudo apt-get install phpmyadmin,安装MySQL管理工具phpmyadmin。

  下面使用浏览器访问http://ip/phpmyadmin或者http://localhost/phpmyadmin,如图6:

  图6

#p#

  5 简单设置Samba服务

  (1)使用命令行方式配置Samba服务

  使用命令行方式配置Samba服务比较简单,通常只有几个步骤:

  安装软件包:

  #apt-get install libcups2 samba samba-common

  修改配置文件:

  #vi /etc/samba/smb.conf
  [...]
  security = user
  [...]
  [allusers]
  comment = All Users
  path = /home/shares/allusers
  valid users = @users
  force group = users
  create mask = 0660
  directory mask = 0771
  writable = yes
  [...]
  [homes]
  comment = Home Directories
  browseable = no
  valid users = %S
  writable = yes
  create mask = 0700
  directory mask = 0700

  3 设置共享权限

  mkdir -p /home/shares/allusers
  chown -R root:users /home/shares/allusers/
  chmod -R ug+rwx,o+rx-w /home/shares/allusers/
  /etc/init.d/smbd restart

  4 添加用户

  useradd  pirat9 -m -G users
  passwd tom
  smbpasswd -a  pirat9

  (2)使用图形化工具设置Samba

  #apt-get install system-config-samba

  这里可以使用使用图形化工具system-config-samba设置Samba 工作界面如图7、图8 :

  图7 system-config-samba工作界面 

  图8 system-config-samba工作界面

#p#

6 使用Lynis 检查系统是否够安全

  Lynis是一个为系统管理员提供的 Linux和Unix的审计工具 。 Lynis扫描系统的配置,并创建概述系统信息与安全问题所使用的专业审计。当用户启动该软件后,Lynis会会逐次扫描系统的内核、用户目录、软件信息等,并最后生成一个全面的报告。需要说明的是,该工具只能生成一个扫描检测后的报告,对用户起到提醒作用,本身并不能提高系统的安全性。但是该工具却可以成为其他安全软件、系统测评软件的模块。使用方法:

  安装:

  #apt-get install lynis

  使用例子

  全部检查(最常用如图9):

  #lynis --check-all -Q

  图9 工作界面

  采用crontab自动检查:

  #lynis -c --auditor "automated" --cronjob > /var/log/lynis/report.txt

  检查某项目:

  #lynis --tests FILE-6354 –quick

  检查告内容:

  # grep Warning /var/log/lynis.log

  检查建议内容:

  # grep Suggestion /var/log/lynis.log

  Lynis 是一套适用于各种 UNIX based system 的系统安全检测工具, 程式以 Shell Script 建构而成。它能找出系统安全需要补强的地方, 同时提供许多提升系统安全的作法与建议, 对于系统管理者来说是一套既实用, 又能从中学习 (或复习) 到许多系统安全观念的好工具。不足之处:该款工具比较全面的涵盖了系统安全的审计内容,但每个审计项都不深入,需要具体的扩展,例如PHP、Apache,MySQL的安全配置,就需要细化。

#p#

  7 虚拟化工具配置

  安装软件包:

  #apt- get -y install kvm qemu-kvm libvirt-bin virtinst bridge-utils

  配置:

  #modprobe vhost_net
  #lsmod | grep vhost
  #echo vhost_net >> /etc/modules

  设置网络接口:

  #vi /etc/network/interfaces
  auto lo
  iface lo inet loopback
  # The primary network interface
  auto eth0
  iface eth0 inet manual
  #iface eth0 inet static
  #address 10.0.0.50
  #network 10.0.0.0
  #netmask 255.255.255.0
  #broadcast 10.0.0.255
  #gateway 10.0.0.1
  #dns-nameservers 10.0.0.30
  iface br0 inet static
  address 10.0.0.30
  network 10.0.0.0
  netmask 255.255.255.0
  broadcast 10.0.0.255
  gateway 10.0.0.1
  dns-nameservers 10.0.0.30
  bridge_ports eth0
  bridge_stp off
  auto br0
  #initctl restart networking

  安装图形化工具:

  #apt- get -y install virt-manager qemu-system hal

  下面使用kvm安装一个CentOS 6.4  操作系统。

  图10 和图11是安装过程截图:

  图10 virt-manager工作界面

  图11 virt-manager安装CentOS 6.4 过程截图

#p#

  8 使用htop

  htop它是一个 Linux 下的交互式的进程浏览器,可以用来替换Linux下的top命令。与linux传统的top相比,htop更加人性化包括如下特点:

  • 可以进行水平或竖直滚动
  • 可以跟踪进程 (通过集成strace实现)
  • 杀进程时不需要输入进程号。
  • 主页面上显示常用功能项,很方便。top要'h'一下。
  • 支持进程树状显示
  • 可以按名称查找进程
  • 支持鼠标操作
  • 在启动上,比 top 更快

  可以通过 sudo apt-get install htop 来安装它。

  htop 常用命令选项:

  -C –no-color 使用一个单色的配色方案。
  -d –delay=DELAY 设置延迟更新时间,单位秒。
  -h –help 显示htop命令帮助信息。
  -u –user=USERNAME 只显示一个给定的用户的过程。
  -v –version 显示版本信息

  建议查看下man手册页,很详细。

  另外,还在使用时交互参数:

  /:搜索字符
  h:显示某个用户的进程,在左侧可以选项
  t:显示树形结构
  H : 显示/隐藏用户线程
  K : 显示/隐藏内核线程
  选择某一进程,按s:用strace追踪进程的系统调用
  P、T、M和top下是一样的,按CPU,Time+、Memory使用排序。

  工作界面,如图12:

  图12 htop的工作界面

  下面是F1到F10的功能和对应的字母快捷键。

#p#

  9 安装反病毒工具Clamav

  #aptitude -y install clamav

  升级病毒库:

  #freshclam
  #ClamAV update process started at Fri Apr 27 14:52:15 2012
  main.cvd is up to date (version: 54, sigs: 1044387, f-level: 60, builder: sven)
  daily.cvd is up to date (version: 14854, sigs: 162423, f-level: 63, builder: mcichosz)
  bytecode.cvd is up to date (version: 168, sigs: 38, f-level: 63, builder: edwin)

  扫描目录:

  #clamscan --infected --remove --recursive /home
  ----------- SCAN SUMMARY -----------
  Known viruses: 2204737
  Engine version: 0.97.7
  Scanned directories: 169
  Scanned files: 215
  Infected files: 0
  Data scanned: 5.59 MB
  Data read: 8.72 MB (ratio 0.64:1)
  Time: 4.716 sec (0 m 4 s)

  10 DHCP服务器的简单设置

  安装软件包:

  #apt -get -y install dhcp3-server

  修改配置文件:

  #vi /etc/dhcp/dhcpd.conf

  #第16行:设置ip或者域名:

  option domain-name "cjh.net"
  ;

  #第17行:

  option domain-name-servers www.cjh.net
  ;

  # 第24行,取消注释:

  authoritative;
  subnet 10.0.0.0 netmask 255.255.255.0 {
  option routers 10.0.0.1;
  option subnet-mask 255.255.255.0;
  range dynamic-bootp 10.0.0.200 10.0.0.254;
  }
  #initctl start isc-dhcp-server

  说明:initctl(init control,即init控制程序)命令工具可以让系统管理员以root特权身份与Upstart init守护进程通信。这个实用工具能够启动、关闭作业,并可以报告作业的状态。举例来说,命令initctl list可以列出作业及其状态:

  如果想要了解其他initctl命令,请将list替换成该命令的名称。实用工具start、stop和status分别是initctl执行相应的同名命令的链接。更多信息请参见initctl的手册页和本节的示例。输入命令initctl help(help前面没有连字符)可以显示initctl命令列表。

【声明】本文是51CTO原创稿件,转载请注明作者与出处。

责任编辑:黄丹 来源: 51CTO.com
相关推荐

2010-08-10 09:13:52

Unix系统管理员Ubuntu

2010-05-05 15:56:37

Unix系统

2013-09-29 09:50:21

系统管理员Ubuntu JujuJuju

2010-05-05 16:27:22

Unix系统

2011-09-01 13:42:15

优化布线系统管理布线系统

2010-05-04 15:22:25

Unix系统

2013-05-02 14:06:30

Android开发用户系统管理

2017-03-27 09:30:14

Linux系统管理技巧

2012-02-29 00:57:41

Linux系统

2009-07-11 16:04:04

布线系统管理优化

2010-01-14 17:05:42

MySQL CentO

2011-11-17 16:06:45

IT系统管理

2012-07-31 14:57:14

NetGain EM

2015-04-22 13:25:43

2013-09-18 10:57:09

虚拟化应用

2010-03-04 14:44:05

Linux管理命令

2010-03-18 16:57:02

Linux命令

2009-10-14 15:58:59

布线系统管理

2009-10-12 11:14:51

LinuxLinux磁盘文件系统管理

2010-03-18 16:51:32

点赞
收藏

51CTO技术栈公众号