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。不用管它。