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