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
umask -S
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"
LC_CTYPE=zh_CN.UTF-8
LANG=en_GB.UTF-8
GST_ID3_TAG_ENCODING=GBK
重啓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就有指向正確的源碼樹位置了。
9設置更新源/etc/apt/sources.list:
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com breezy main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com breezy-security main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com breezy-backports main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com breezy-updates main restricted universe multiverse
deb ftp://ftp.sjtu.edu.cn/sites/archive.ubuntu.com breezy-proposed main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/ breezy main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/ breezy-updates main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/ breezy-security main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu/ breezy-backports main restricted universe multiverse
deb http://ftp.sjtu.edu.cn/ubuntu-cn/ breezy main restricted universe multiverse
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
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。不用管它。