天天看點

Ubuntu 13.04 系統管理初探

   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(選擇否即可)
Ubuntu 13.04 系統管理初探

圖 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。

2 介紹一下檢視ubuntu版本的幾個方法

  對于桌面系統檢視系統設定中詳細資訊中的即可如圖1

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165614f87oc677ak5k8lka.jpg

  對于伺服器版本,如果沒有安裝x window可以使用如下幾個指令:

方法一:#lsb_release -a

方法二:#uname -a

方法三:#cat /etc/issue

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

  以上幾個指令的輸出略有不同如圖3。

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165615hqdbb33j34zl4dbf.jpg

圖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

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。

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165615yioo1o8kipuxa1a1.jpg

圖4 工作界面

  安裝過程中會提示你輸入mysql的root密碼。

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

  安裝完成了,現在你可以運作apache2來啟動apache了,然後在浏覽器裡輸入127.0.0.1/info.php,看看是不是已經顯示測試頁面了如圖5:

Ubuntu 13.04 系統管理初探

圖5

  下面通過指令:sudo apt-get install phpmyadmin,安裝mysql管理工具phpmyadmin。

  下面使用浏覽器通路http://ip/phpmyadmin或者http://localhost/phpmyadmin,如圖6:

Ubuntu 13.04 系統管理初探

圖6

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 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 :

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/1656179mab3r3a897z0538.jpg

圖7 system-config-samba工作界面

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165617w06lg968rl18yz5w.jpg

圖8 system-config-samba工作界面

6 使用lynis 檢查系統是否夠安全

  lynis是一個為系統管理者提供的 linux和unix的審計工具 。 lynis掃描系統的配置,并建立概述系統資訊與安全問題所使用的專業審計。當使用者啟動該軟體後,lynis會會逐次掃描系統的核心、使用者目錄、軟體資訊 等,并最後生成一個全面的報告。需要說明的是,該工具隻能生成一個掃描檢測後的報告,對使用者起到提醒作用,本身并不能提高系統的安全性。但是該工具卻可以 成為其他安全軟體、系統測評軟體的子產品。使用方法:

  安裝:

#apt-get install lynis

  使用例子

  全部檢查(最常用如圖9):

#lynis --check-all -q
Ubuntu 13.04 系統管理初探

圖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的安全配置,就需要細化。

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是安裝過程截圖:

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/1656187r07qiz8n7uzer0u.jpg

圖10 virt-manager工作界面

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165618m7nhb2bmmvt0bmtl.jpg

圖11 virt-manager安裝centos 6.4 過程截圖

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:

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165619q5oqt5th8whfqzco.jpg

圖12 htop的工作界面

  下面是f1到f10的功能和對應的字母快捷鍵。

Ubuntu 13.04 系統管理初探

https://dn-linuxcn.qbox.me/data/attachment/album/201305/09/165619fzelt11eh1uu0wot.jpg

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指令清單。

<b> 原文釋出時間為:2013-05-10</b>

<b>本文來自雲栖社群合作夥伴“linux中國”</b>