Ubuntu 13.04 系統(tǒng)管理初探
原創(chuàng)【51CTO原創(chuàng)稿件】Ubuntu 13.04 (代號 Raring Ringtail)正式版于上個月底發(fā)布,很多對 Ubuntu 情有獨鐘的網(wǎng)友已經(jīng)迫不及待嘗鮮了,51CTO系統(tǒng)頻道也體驗了一下,大家可以通過《Ubuntu 13.04 來襲:鉚勁浣熊酷炫體驗》查看。本篇文章將從系統(tǒng)管理方面入手,繼續(xù)探究Ubuntu 13.04 的奧秘。
1 設(shè)置shell版本
/bin/sh 是 /bin/dash,的符號鏈接。Ubuntu為了加速開機的速度使用了dash來取代傳統(tǒng)的bash,/bin/sh -> /bin/bash改成了/bin/sh -> /bin/dash。雖然說dash體積有比較小開機時速度也比較快,但是在開機之后使用某些原本在bash環(huán)境可以正常使用的腳本,換到了dash之后反而會出現(xiàn)一些莫名其妙的問題,這里筆者要改回去。
#dpkg-reconfigure dash(選擇否即可)
圖 1 dpkg-reconfigure 工作界面
再次檢查一下, ls /bin/sh -al 發(fā)現(xiàn)軟鏈接指向/bin/bash就可以了。
說明:dpkg-reconfigure用來重新配制一個已經(jīng)安裝的軟件包,通常把什么軟件“弄壞了”,都可以通國dpkg-reconfigure來重新配置。例如dpkg-reconfigure xserver-xfree86 配置顯卡,顯示器鼠標(biāo),鍵盤.,dpkg-reconfigure locales 產(chǎn)生locale及default locale,dpkg-reconfigure etherconf 配置以太網(wǎng)參數(shù)。
Debian Almquist shell,縮寫為dash,一種 Unix shell,相容于POSIX標(biāo)準(zhǔn)。它比 Bash 小,只需要較少的磁盤空間,但是它的對話性功能也較少。它由 NetBSD版本的Almquist shell (ash)發(fā)展而來,于1997年,由赫伯特·許(Herbert Xu)移植到Linux上,于2002年改名為 dash。#p#
2 介紹一下查看Ubuntu版本的幾個方法
對于桌面系統(tǒng)查看系統(tǒng)設(shè)置中詳細(xì)信息中的即可如圖1
圖2
對于服務(wù)器版本,如果沒有安裝X Window可以使用如下幾個命令:
方法一:#lsb_release -a
方法二:#uname -a
方法三:#cat /etc/issue
方法四:#cat /etc/lsb-release
以上幾個命令的輸出略有不同如圖3。
圖3 查看Ubuntu版本
3 服務(wù)器版本語言設(shè)置
#apt-get -y install language-pack-cn-base language-pack-cn
更新中文UTF的本地環(huán)境:
sudo locale-gen zh_CN.UTF-8 sudo update-locale LANG=zh_CN.UTF-8
服務(wù)器版本時選擇語言為English的原因。如果設(shè)置了中文,可以通過下面的方法修改系統(tǒng)語言為英文:
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 重啟系統(tǒng)之后,ubuntu server 系統(tǒng)語言顯示英文,也就不再出現(xiàn)亂碼中文了。
如果出現(xiàn)warning: setlocale: LC_CTYPE: cannot change locale (en_US)
執(zhí)行下列指令:
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下的安裝任務(wù)套件,如果你為了使你的系統(tǒng)完成某一種常規(guī)功能,而需要安裝多個軟件包時,我們就可以使用它了。這句話是什么意思呢?比如說,我們需要安裝LAMP架設(shè)一個web服務(wù)器,為了完成這個功能,我們一般需要安裝很多個軟件包,用apt的話,我們就需要分別安裝這些包(包含apache2、php5等等),以便構(gòu)成一個完整的(符合我們要求的)LAMP系統(tǒng)。而如果使用tasksel的話,就可以用它方便的給我們安裝一個完整的LAMP套件,而無須我們?nèi)リP(guān)心具體需要由哪些包來構(gòu)成這個統(tǒng)一的套件。需要指出的是,通過tasksel軟件包不僅可以安裝LAMP組件,還可以安裝其他服務(wù)器組件,比如DNS服務(wù)器,Mail服務(wù)器,打印服務(wù)器等。其實使用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
安裝完成了,現(xiàn)在你可以運行apache2來啟動apache了,然后在瀏覽器里輸入127.0.0.1/info.php,看看是不是已經(jīng)顯示測試頁面了如圖5:
圖5
下面通過命令:sudo apt-get install phpmyadmin,安裝MySQL管理工具phpmyadmin。
下面使用瀏覽器訪問http://ip/phpmyadmin或者h(yuǎn)ttp://localhost/phpmyadmin,如圖6:
圖6
#p#
5 簡單設(shè)置Samba服務(wù)
(1)使用命令行方式配置Samba服務(wù)
使用命令行方式配置Samba服務(wù)比較簡單,通常只有幾個步驟:
安裝軟件包:
#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 設(shè)置共享權(quán)限
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)使用圖形化工具設(shè)置Samba
#apt-get install system-config-samba
這里可以使用使用圖形化工具system-config-samba設(shè)置Samba 工作界面如圖7、圖8 :
圖7 system-config-samba工作界面
圖8 system-config-samba工作界面
#p#
6 使用Lynis 檢查系統(tǒng)是否夠安全
Lynis是一個為系統(tǒng)管理員提供的 Linux和Unix的審計工具 。 Lynis掃描系統(tǒng)的配置,并創(chuàng)建概述系統(tǒng)信息與安全問題所使用的專業(yè)審計。當(dāng)用戶啟動該軟件后,Lynis會會逐次掃描系統(tǒng)的內(nèi)核、用戶目錄、軟件信息等,并最后生成一個全面的報告。需要說明的是,該工具只能生成一個掃描檢測后的報告,對用戶起到提醒作用,本身并不能提高系統(tǒng)的安全性。但是該工具卻可以成為其他安全軟件、系統(tǒng)測評軟件的模塊。使用方法:
安裝:
#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
檢查告內(nèi)容:
# grep Warning /var/log/lynis.log
檢查建議內(nèi)容:
# grep Suggestion /var/log/lynis.log
Lynis 是一套適用于各種 UNIX based system 的系統(tǒng)安全檢測工具, 程式以 Shell Script 建構(gòu)而成。它能找出系統(tǒng)安全需要補強的地方, 同時提供許多提升系統(tǒng)安全的作法與建議, 對于系統(tǒng)管理者來說是一套既實用, 又能從中學(xué)習(xí) (或復(fù)習(xí)) 到許多系統(tǒng)安全觀念的好工具。不足之處:該款工具比較全面的涵蓋了系統(tǒng)安全的審計內(nèi)容,但每個審計項都不深入,需要具體的擴展,例如PHP、Apache,MySQL的安全配置,就需要細(xì)化。
#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
設(shè)置網(wǎng)絡(luò)接口:
#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 操作系統(tǒng)。
圖10 和圖11是安裝過程截圖:
圖10 virt-manager工作界面
圖11 virt-manager安裝CentOS 6.4 過程截圖
#p#
8 使用htop
htop它是一個 Linux 下的交互式的進(jìn)程瀏覽器,可以用來替換Linux下的top命令。與linux傳統(tǒng)的top相比,htop更加人性化包括如下特點:
- 可以進(jìn)行水平或豎直滾動
- 可以跟蹤進(jìn)程 (通過集成strace實現(xiàn))
- 殺進(jìn)程時不需要輸入進(jìn)程號。
- 主頁面上顯示常用功能項,很方便。top要'h'一下。
- 支持進(jìn)程樹狀顯示
- 可以按名稱查找進(jìn)程
- 支持鼠標(biāo)操作
- 在啟動上,比 top 更快
可以通過 sudo apt-get install htop 來安裝它。
htop 常用命令選項:
-C –no-color 使用一個單色的配色方案。 -d –delay=DELAY 設(shè)置延遲更新時間,單位秒。 -h –help 顯示htop命令幫助信息。 -u –user=USERNAME 只顯示一個給定的用戶的過程。 -v –version 顯示版本信息
建議查看下man手冊頁,很詳細(xì)。
另外,還在使用時交互參數(shù):
/:搜索字符 h:顯示某個用戶的進(jìn)程,在左側(cè)可以選項 t:顯示樹形結(jié)構(gòu) H : 顯示/隱藏用戶線程 K : 顯示/隱藏內(nèi)核線程 選擇某一進(jìn)程,按s:用strace追蹤進(jìn)程的系統(tǒng)調(diào)用 P、T、M和top下是一樣的,按CPU,Time+、Memory使用排序。
工作界面,如圖12:
圖12 htop的工作界面
下面是F1到F10的功能和對應(yīng)的字母快捷鍵。
#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服務(wù)器的簡單設(shè)置
安裝軟件包:
#apt -get -y install dhcp3-server
修改配置文件:
#vi /etc/dhcp/dhcpd.conf
#第16行:設(shè)置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控制程序)命令工具可以讓系統(tǒng)管理員以root特權(quán)身份與Upstart init守護進(jìn)程通信。這個實用工具能夠啟動、關(guān)閉作業(yè),并可以報告作業(yè)的狀態(tài)。舉例來說,命令initctl list可以列出作業(yè)及其狀態(tài):
如果想要了解其他initctl命令,請將list替換成該命令的名稱。實用工具start、stop和status分別是initctl執(zhí)行相應(yīng)的同名命令的鏈接。更多信息請參見initctl的手冊頁和本節(jié)的示例。輸入命令initctl help(help前面沒有連字符)可以顯示initctl命令列表。
【聲明】本文是51CTO原創(chuàng)稿件,轉(zhuǎn)載請注明作者與出處。