天天看點

umask、Ubuntu、啟動項....

A.umask

    1.作用

    umask設定使用者檔案和目錄的檔案建立預設屏蔽值,若将此指令放入profile檔案,就可控制該使用者後續所建檔案的存取許可。它告訴系統在建立檔案時不給誰存取許可。使用權限是所有使用者。

    2.格式    umask [-p] [-S] [mode]

    3.參數

    -S:确定目前的umask設定。

    -p:修改umask 設定。

    [mode]:修改數值。

    4.說明

    傳統Unix的umask值是022,這樣就可以防止同屬于該組的其它使用者及别的組的使用者修改該使用者的檔案。既然每個使用者都擁有并屬于一個自己的私有組,那麼這種“組保護模式”就不在需要了。嚴密的權限設定構成了Linux安全的基礎,在權限上犯錯誤是緻命的。需要注意的是,umask指令用來設定程序所建立的檔案的讀寫權限,最保險的值是0077,即關閉建立檔案的程序以外的所有程序的讀寫權限,表示為-rw-------。在~/.bash_profile中,加上一行指令umask 0077可以保證每次啟動Shell後, 程序的umask權限都可以被正确設定。

    5.應用執行個體

umask -S

u=rwx,g=rx,o=rx

umask -p 177

u=rw,g=,o=

    上述5行指令,首先顯示目前狀态,然後把umask值改為177,結果隻有檔案所有者具有讀寫檔案的權限,其它使用者不能通路該檔案。這顯然是一種非常安全的設定。

B.Ubuntu中的問題:

1.預設安裝是沒有root密碼的,要進入系統後shell>sudo passwd root,會提示輸入root密碼。

2.Ubuntu裡面挂載windows檔案要用utf8而不是cp936,否則中文會顯示亂碼。也即:在etc/fstab檔案中加入:

  /dev/hda5              /mnt/d            vfat     auto,utf8,umask=000   0   0

3.Ubuntu裡面不能用rpm安裝軟體,它采用的是dpkg指令,它的安裝包是.deb檔案。你可以用alien指令将rpm包轉換成deb檔案:alien -d *****.rpm。後面列出dpkg跟rpm指令的差別

4安裝SCIM輸入法

sudo apt-get install scim scim-modules-socket scim-modules-table scim-pinyin scim-tables-zh scim-input-pad

将export  XMODIFIERS=@im=SCIM ; export GTK_IM_MODULE="scim"; scim -d 寫進檔案: /etc/X11/Xsession.d/95xinput 中

sudo chmod +755 /etc/X11/Xsession.d/95xinput

5字型美化

wget -c http://222.19.211.78/ftp/cartoon/font/VeraSansYuanTi.tar.gz

tar -xzvf VeraSansYuanTi.tar.gz

sudo mv VeraSansYuanTi /usr/share/fonts/

sudo fc-cache -f

sudo cp /etc/fonts/fonts.conf /etc/fonts/fonts.conf.old

sudo cp /usr/share/fonts/VeraSansYuanTi/fonts.conf /etc/fonts/

重新開機X(同時按住 Ctrl +Alt + 倒退鍵)

6設定LC_ALL和其它屬性

sudo gedit /etc/environment

在編輯器裡,将内容修改如下(預設使用中文界面):

LANGUAGE="zh_CN:zh:en_US:en"

LC_CTYPE=zh_CN.UTF-8

LANG=zh_CN.UTF-8

GST_ID3_TAG_ENCODING=GBK

如果需要使用英文界面,将内容修改如下:

LANGUAGE="en_US:en"

LANG=en_GB.UTF-8

重新開機X後生效

7 安裝多媒體播放驅動(不然看不了rmvb哦)

sudo apt-get install beep-media-player totem-xine w32codecs

8安裝gcc-3.4:apt-get install build-essential gcc-3.4

  安裝頭檔案:apt-get install linux-headers-2.6.12-10-386

  建立一個符号連結:ln –s /usr/bin/gcc-4.0 gcc

  這樣build就有指向正确的源碼樹位置了。

sudo apt-get install kdevelop3

sudo apt-get install gt3-designer

sudo apt-get install libtool

sudo apt-get install console

sudo apt-cache search *

10、kdevelop3&

C.dpkg vs rpm

列出系統中安裝的軟體包

rpm -qa

dpkg --list

列出軟體包資訊

rpm -qi pkgname

dpkg --status pkgname

列出一個包所安裝的檔案

rpm -ql pkgname

dpkg --listfiles pkgname

列出本地封包件的資訊

rpm -qpi file.rpm

dpkg --info file.deb

列出本地封包件所含檔案

rpm -qpl file.rpm

dpkg --contents file.deb

安裝本地包

rpm -i file.rpm

dpkg --install file.deb

從系統中清除包

rpm -E pkgname

dpkg --purge pkgname

查詢檔案歸屬

rpm -qf file

dpkg --search file

D一些技巧:

檢視bash版本:>echo $BASH_VERSION

測試腳本檔案:>source myscript或者>chmod a+x myscript;./myscript

簡單的指令組合可以用分号實作,就像上面顯示的那樣。

腳本的第一行必須是:#!/bin/bash.它指定了負責執行腳本的解釋器的名字。

Bash中,雙引号在功能上比單引号稍微弱一點;雙引号允許一些特殊字元保持其特有的意義。單引号有強制作用,屏蔽掉任何字元的特殊含義。單引号禁止變量的插值,而雙引号不禁止,如:

  >echo "Path:$PATH"會正确顯示環境變量

  >echo 'Path:$PATH'會顯示:Path:$PATH

     是以,除非有特殊原因,才使用雙引号。

 在太長的腳本中可以使用‘’來将其劃分成短行

 rev:獲得任何的鍵盤輸入,接着把它們反過來顯示在螢幕上。

 linux中聲明變量在變量名前加上$符号,删除變量用unset指令釋放記憶體。

 /bin 儲存像ls和cat這樣的二進制檔案。

 /boot 啟動系統所需的檔案。

 /etc 系統配置檔案和初始化腳本

 /dev linux系統下大量裝置的入口

 /lib 系統啟動時程式運作所必需的基本動态庫

 /lost+found 如果一個檔案系統在運作的時候産生了錯誤,那麼檔案系統修複工具 (fsck)将要在這個目錄儲存恢複的資料

 /proc 是個虛拟目錄,該目錄下的檔案和目錄并不真正存在于系統的任何磁盤上。系統建立它是為了向其他應用程式傳遞系統資訊。

 /sbin 啟動系統的程式和二進制檔案

 /usr 為正常運作系統的使用者存放固定檔案和資料的目錄

E。設定啟動項目:

首先安裝一個工具:

sudo apt-get install sysv-rc-conf

然後這樣起動:

代碼:

sudo sysv-rc-conf

(注意:進入以後,畫“×”的表示選上并起動的。)在這個軟體裡,可以用鍵盤的方向鍵移動,用空格選取,也可以直接用滑鼠選取,最後用q儲存退出,一下列出服務的名稱和基本的解釋。

acpi-support    這個是關于電源支援的預設是1,2,3,4,5下啟動,我認為你可以把它調整到s級别。

acpid      acpi的守護程式,預設是2-5開啟,我認為可以不用管。

alsa      alsa聲音子系統,應該不用開啟它。

alsa-utils   這個服務似乎取代了alsa,是以開啟這個就可以了,我在S級别開啟它。

anacron      這是一個用于執行到時間沒有執行的程式的服務,我認為它無所謂,是以關了它,這個可以随便。

apmd      也是一種電源管理,我認為電腦如果不是很老,它就沒有開啟的必要了。

atd      和anacron類似,我把它關了。

bluez-utiles   傳說中的藍牙服務,然後遺憾我沒有,是以關了。

bootlogd   似乎使用來寫log的,安全期間開着他也許比較好。

cron      指定時間運作程式的服務,是以開着比較好的。

cupsys      列印機服務,是以如果你有,就開啟吧。

dbus      消息總線系統,非常重要,一定要開。

dns-clean   撥接上網用的,如果不用,就關了它。

evms      企業卷管理系統,由于我并不明白什麼叫做企業卷,是以我關了它。

fetchmail   用于郵件守護,我關了它。

gdm      gnome桌面管理器,我關了它,然後用startx啟動gnome。

halt       關機用的,不要更改

hdparm      這個我剛才有講,如果沒有ide硬碟也就不用開啟它了。

hotkey-setup   這個是給某些品牌筆記本設計的熱鍵映射,桌上型電腦使用者請關了它 

hotplug     這個是用于熱插拔的,我已經測試過了,在某些電腦上關閉它會使聲霸卡無效,請在S級别開啟它。

hplip      hp列印機專用的,應該可以關了它。

ifrename      網絡接口重命名,好像沒用,關了。

ifupdown   這個使用來打開網絡的,開着它。

ifupdown-clean   同上。

klogd      linux守護程式,接受來自核心和發送資訊到syslogd的記錄,并記錄為一個檔案,是以請開着它。

linux-restricted-modules-common    這個使用來使用受限制的子產品的,你可以從/lib/linux-restricted-modules下檢視,如果沒有什麼,你可以關掉它。

lvm      邏輯卷管理器,如果你沒有請關了它。

makedev    用來建立裝置到/dev/請不要動他。

mdamd      管理raid用,如果你沒有請關閉它。

module-init-tools 從/etc/modules   加在擴充子產品的,這個一般開着。

networking   增加網絡接口和配置dns用,将它開啟。

ntp-server   與ubuntu時間伺服器進行同步的,關了。

pcmcia      激活pcmica裝置,遺憾我有生以來都沒有見過這樣的裝置,關了它。

powernowd    用于管理cpu的用戶端程式,如果有變頻功能,比如amd的quite'   cool 那麼就開啟它吧。

ppp       撥号用的,我關了它。

ppp-dns      一樣,也關了。

readahead   預加載服務,讓我想起了win的預讀,當然他們不同,它會使啟動變慢3-4妙,是以我關了它。

reboot      重新開機用的,不要動。

rmnologin   如果發現nologin,就去除它,在筆記本上不用開啟。

rsync      rsync協定守護,請視情況而定。

screen-cleanup    一個清除開機螢幕的腳本,随便。

sendsigs      重新開機和關機時向所有程序發送消息。是以不要管它。

single       激活但使用者模式,不用管它。

stop-bootlogd   從2,3,4,5級别停止bootlogd,不用管它。

sudo      這個不用說吧,不用管它。

sysklogd   用于記錄系統日志資訊,不用管它。

udev      使用者空間dev檔案系統,不用管它。

udev-mab   同上。

umountfs   用來解除安裝檔案卷的,不用管它。

urandom   生成随即數的,不知道怎麼用,不用管它。

usplash      那個漂亮的啟動畫面,但是我關了它,它也存在,是以想關他需要把核心起動參數中的splash一句删掉。

 vbesave      顯示卡bios配置工具,不用管它。

xorg-common   設定x服務ice socket。不用管它。