2012年11月14日 星期三

Ubuntu基本設定(二)


BASH Shell操作環境
/etc/issue 登入前訊息
\d 本地端時間日期
\l 顯示第幾個tty (終端機介面)
\m 顯示硬體規格等級
\n 顯示主機網路名稱
\o 顯示domain name
\r 作業系統版本
\t 顯示本地端時間
\s 作業系統名稱
\v 作業系統版本
sudo nano /etc/issue
修改登入前的訊息
/etc/motd
登入後訊息(RedHat , Centos支援 , Ubuntu不支援)
sudo nano /etc/motd
更改登入後訊息
sudo nano /update-motd.d/99-hello


#!/bin/bash
echo '' Hello! My Friends ^^''
增加99-hello(檔案宣告一定是99-開頭) , 以更改Ubuntu支援登入後訊息檔。
#!/bin/bash是宣告/bin/bash來執行以下命令
sudo chmod +x /update-motd.d/99-hello
修改99-hello權限成可執行權限
/etc/profile 環境變數設定檔(系統設定檔)
sudo nano /etc/profile
echo $USER
profile最後加上$USER這個環境變數, 不管誰登入都出現登入的使用者
/.profile Ubuntu個人環境設定檔
echo $BASH_VERSION
傳回BASH的版本
[ -n ''BASH_VERSION'']
echo $?

echo $PS1 顯示題示字元
修改.bashrc
alias ping='ping -c 4' 利用修改別名命令,修正ping次數為4, ccount之意
alias ipconfig='/etc/update-motd.d/50-landscape-sysinfo' 創建一個ipconfig命令去執行50-landscape-sysinfo程式 , 顯示一些網路的資訊
export PS1=”\u@\h:” 將$改成:號 , 原先預設為\u@\h:\w\$


reboot, shutdown, halt
開關機指令
sudo /sbin/shutdown -h 10 'I will shutdown after 10 mins' 10分鐘後關機
sudo /sbin/shutdown -r 1 'I will reboot right now'
1分鐘後重新開機
alias bye='sudo /sbin/shutdown -h 3'
.bashrc建立bye指令,執行3分鐘後關機


檔案目錄管理
mkdir, rmdir
建立目錄, 移除目錄
cd, pwd
切換目錄, 顯示目前目錄
mkdir tmp
建立tmp目錄
cd tmp
切換至tmp目錄
mkdir test
建立test目錄
mkdir -p test1/test2
建立多層目錄,test1/test2
rmdir tmp
移除tmp目錄
rmdir test
移除test目錄
rmdir -p test1/test2
移除多層目錄,test1/test2


範例:建立,壓縮,移除目錄及檔案
$HOME/www
|
|----img
|
|----css
|
|----index.html
建立檔案
sudo nano mydir.sh
#!/bin/bash
mkdir -p www/img
mkdir -p www/css
touch www/index.html
建立一個mydir.shbash file
chmod +x mydir.sh
改變mydir.sh權限為可以執行
. mydir.sh
執行mydir.sh
壓縮檔案
sudo apt-get install zip
安裝zip套件
zip www.zip www/*
壓縮目前底下的www目錄及裡面所有的檔案及目錄
查詢www目錄是否存在,如果存在回傳0,如果不存在回傳1
nano ckdir.sh

#!/bin/bash
[ -d www ] && echo “www directory is exit !!” && exit

./ckdir.sh

移除目錄及檔案
rm -r www
移除www目錄及檔案
$HOME/www
|
|----img
|
|----css
|
|----index.html

將原先在www路徑下的index.html檔案copytmp目錄下

$HOME/tmp
|
|----index.html
cp www/index.html tmp/index.html

$HOME/.bashrc

.bashrc此一檔案copytmp目錄下並更名為bashrc2

$HOME/tmp
|----basrc2
cp .bashrc tmp/bashrc2


$/etc/*
將根目錄下etc目錄下的檔案及目錄拷貝至根目錄下的tmp目錄
$/tmp
sudo cp -r /etc /tmp
將整個/etc目錄下的檔案複製至/tmp目錄下
ll /tmp/etc
查看/etc的所有檔案都copy/tmp路徑下
$/etc/*
將根目錄下etc目錄下的檔案及目錄,拷貝至根目錄下的tmp目錄
$HOME
|----tmp
sudo cp -r /etc tmp
將整個/etc目錄下的檔案複製至tmp目錄下
ll tmp/etc
查看/etc的所有檔案都copytmp路徑下
sudo apt-get install tree
安裝樹狀目錄檔,直接可以執行tree命令,顯示以下的目錄


群組設定,帳號加入群組
sudo useradd -m -s /bin/bash a01
sudo useradd -m -s /bin/bash a02
sudo useradd -m -s /bin/bash b01
sudo useradd -m -s /bin/bash b02
sudo passwd a01
sudo passwd a02
sudo passwd b01
sudo passwd b02
建立四個帳號,分別加入兩個群組aaa, bbb
sudo groupadd aaa
sudo groupadd bbb
建立兩個群組aaa, bbb
sudo nano /etc/group
a01,a02加入-->aaa群組
內容加入
aaa:x:1006:a01,a02
sudo nano /etc/group
b01,b02加入-->bbb群組
內容加入
bbb:x:1006:b01,b02
sudo groupdel bbb
群組刪除


權限設定
sudo cp .bashrc /home/a01
sudo cp .bashrc /home/a02
sudo cp .bashrc /home/b01
sudo cp .bashrc /home/b02
原先就有.bashrc的檔案,複製相同的檔案,權限會繼承原來來源處
mkdir mya01
chmod 777 mya01
給予所有操作權限
rwx rwx rwx
[4+2+1] [4+2+1] [4+2+1]
= 777



分別由兩個使用者(student:su a02)登入,做檔案的設定及權限的修改
student
a02


touch student.txt
mkdir mya02
chmod 777 mya02
student使用者在其家目錄建立一個student.txt
a02的使用者建立一個mya02目錄,並更改目錄的使用權限為777
sudo cp student.txt /home/a02
ll
a02登入的畫面,所觀察的student.txt檔案權限為root
cp student.txt /homea02/mya02
ll mya02
a02登入的畫面,所觀察的student.txt檔案權限為student



更改擁有者
chown a02:aaa mya02
修改mya02目錄的群組為aaa
su a01
touch xyz.txt
切換至a01使用者(su switch user)a02的家目錄中新增xyz.txt, 無法新增;因為a01沒有權限去修改a02的家目錄及其檔案
cd mya02
touch xyz2.txt
進入mya02目錄,因同屬aaa群組所以可以建立xyz2.txt



SBIT權限練習
$Home/mysbit
Student使用者在其家目錄建立mysbit目錄,設定SBIT權限(1777),允許其他人可讀可寫。
另外完成以下事項 :
1. a01進到mysbit建檔Hello.txt,student刪除
2. a01進到mysbit建檔Hello2.txt,a02刪除
3. a01進到mysbit建檔Hello3.txt,a01刪除
Student
mkdir mysbit
chmod 1777 mysbit
student使用者建立mysbit目錄,並更改權限為SBIT(Sticky Bit),對目錄設定權限
a01
touch /home/student/mysbit/Hello.txt
touch /home/student/mysbit/Hello2.txt
touch /home/student/mysbit/Hello3.txt
a01使用者(檔案擁有者)建立三個檔案
student
rm mysbit/Hello.txt
可以刪除Hello3.txt
a02
rm /home/student/mysbit/Hello2.txt
無法刪除Hello2.txt
a01
rm /home/student/mysbit/Hello3.txt
可以刪除Hello3.txt
結論 : 設定SBIT,只有資料的主人,及資料夾的主人,以及root可以做刪除



切換及使用root身分
sudo passwd root
設定root的密碼
su root
切換至root身分
exit
離開root身分
su Δ
切換至root身分
exit
離開root身分



安裝建置啟動Apache Server
sudo apt-get install apache2
安裝Apache Server
/etc/apache2/apache2.conf
Apache的設定檔
/etc/apache2/Site-enabled/
網頁預設安裝目錄在/var/www
sudo /etc/init.d/apache2 stop
Stop Apache Server
sudo /etc/init.d/apache2 start
Start Apache Server
sudo /etc/init.d/apache2 restart
Restart Apache Server
stat /var/www
觀看網頁預設路徑的存取權限
sudo nano /var/www/index.html
可以修改網頁