2008年7月31日 星期四
Linux權限設定
請先用 ls -l 指令觀看目前檔案狀況
d rwx rwx rwx
d:檔案屬性,d表示這是一個目錄;-表示這是一個普通檔案;l表示一個符號連結檔案
第一個rwx:檔案擁有者的權限
第二個rwx:同群組使用者的權限
第三個rwx:其他使用者的權限
r(Read,讀取);w(Write,寫入);x(eXecute,執行)
使用數字法更改權限
●r:對應數值為 4
●w:對應數值為2
●x:對應數值為1
rwx合起來就是4+2+1=7
Ex.
●-rwx------:等於數字標示700
●-rwxr--r--:等於數字標示744
●-rw-rw-r-x:等於數字標示665
●drwx--x--xx:等於數字標示711
用chmod指令可來改變檔案與目錄的權限
chmod 777 filename
使用文字法更改權限
第一個rwx:檔案擁有者的權限,代號為u(User)
第二個rwx:同群組使用者的權限,代號為g(Group)
第三個rwx:其他使用者的權限,代號為o(Other)
Ex.
●u+rw:為檔案擁有者加入讀取和寫入的權限
●g-x:將同群組使用者的執行權取消
●u+rwx,g-w,o-w:加入檔案或目錄擁有者有完整的權限,並取消群組與其他使用者的寫入權限
chmod u-s,g-s,o-s filename
二、改變擁有權
只有root管理者帳號,可以將檔案的擁有者移轉給其他人。
使用chown指令便可以修改檔案或目錄的擁有者及所屬群組。
chown linda.users filename
linda:指定該檔案的擁有者
users:指定該檔案所屬的群組
◎想一次更改整個目錄下的所有檔案權限,則請使用參數“-R“啟用遞迴參數。
2007年5月14日 星期一
Linux基本指令--帳號管理
[linda@free linda]$su
[linda@free linda]$sudo su -
Password:
[root@free linda]# ←轉變成root帳號。若輸入exit指令,則可再回原來的帳號!
↖請注意此處仍是在linda的目錄
[linda@free linda]$su -root
Password:
[root@free root]# ←完全轉變為root
切換成helen帳號
[linda@free linda]$su - helen
Password:
[helen@free helen]$ ←轉變成helen帳號
二、建立使用者帳號 /usr/sbin/useradd
單獨建立帳號
[root@free root]#adduser linda ←建立linda帳號
[root@free root]#passwd linda ←設定密碼
Changing password for user linda
New UNIX password: ←輸入密碼
Retype new UNIX password: ←再輸入一次
passwd: all authentication tokens updated successfully. ←設定成功
note:帳號的英文大小寫是有差別的;linda不等於Linda
建立samba密碼
[root@free root#]#smbpasswd -a linda←新增 linda 使用者的密碼
New SMB password:←指定 linda 在Samba伺服器的密碼
Retype new SMB password:←再一次確認密碼
重新啟動Samba伺服器,讓設定值生效:
[root@free root#]#/etc/rc.d/init.d/smb restart
使用者帳號內容,直接修改/etc/passwd和shadow檔案
●先了解passwd檔案的內容格式:(有七個欄位)
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:
....
linda:x:500:500:linda:/home/linda:/bin/bash
帳號名稱:使用者密碼:使用者識別碼:群組識別碼:使用者相關資訊 : 使用者家目錄:使用者環境
note:/etc/passwd檔案預設的權限是"rw-r--r--",如果取消對/etc/paswd的讀取權限,會造成一般使用者無法以ssh登入。
●由於passwd檔案並不安全,因此在安裝Linux時,系統內定會啟動投影密碼的功能。每當我們用useradd指令建立使用者帳號,系統不僅更動passwd檔案,同時還會修改/etc/shadow檔案。
了解shadow檔案的部份內容:(有九個欄位)
root:$1$387ddfeK343jaDTXGdo0e138djf3lLEDA93d:12641:0:99999:7:::
....
linda:$32$22vda.dtidlKJSdawelLkED3f228Kde22kj3:12641:0:99999:7:::
使用者名稱:使用者密碼:3~9欄為密碼變動相關欄位
三、停用與移除使用者帳號
停用帳號
linda:x:500:500:linda:/home/linda:/bin/bash
將第二欄的“x“改為“*“ 或是 在帳號最前面加上“#“
刪除帳號
[root@free root]#userdel -r linda
加上參數 “-r“表示刪除帳號時,一併將該帳號的家目錄及郵件檔案(位於/var/spool/mail目錄中的同名檔案)都刪除。若不加“-r“參數,則只會刪帳號的相關目錄。
四、自訂群組 /etc/group
先了解/etc/group檔案
root:x:0:root
....
student:x:500:
teacher:x:501:
群組名稱:密碼:群組識別碼:使用者帳號(空白)
建立群組
[root@free root]#groupadd -g 500 student
參數“-g“用來指定群組識別碼,0~499請保留給系統使用。若省略此參數,則系統會自動指定GID,使用從編號500開始,尚未用掉的號碼。
變更所隸屬的群組
[root@free root]#chown -R .teacher /home/student
將student家目錄與目錄下所有檔案的隸屬群組,皆改為teacher
2007年3月27日 星期二
臭蟲追蹤系統Bug tracking system
參考資料來源
http://solar.ee.cyu.edu.tw/linux/opentools/c1359.html
Bug tracking system臭蟲追蹤也是一種程式歷史紀錄, 一個程式開發一定會有bug,對於後來維護人員,需要知道發生什麼原因, 怎麼解決的,是誰負責的等等資訊。 gnats是GNU發展的一套臭蟲追蹤系統,也包含了臭蟲回報(bug report)
通常臭蟲回報是developer與tester之間溝通的管道與記錄, 但也可以用在顧客的回報系統中, 這在customer這邊是非常快速的紀錄系統,客戶可以直接從web回報問題, 問題的紀錄也同時進入公司內部的系統。 產品經理可以根據這個在系統上的資訊,指派一個工程師來負責, 非常方便。所以他不僅可以用做程式臭蟲追蹤,也可以成為專案管理軟體。
gnats可以用普通的email就可以自動做回報的工作,也可以client/server的回報, 一個問題回報在gnats的術語叫PR(problem report)。一個PR通常有ID識別, 日期,狀態(open/closed),機密等級(confidential)等等元素
PR記錄也可以彙整進RDBMS(資料庫)
重要目錄與檔案
GNATS_ROOT
GNATS_ROOT是gnats管理的database目錄所在 如果是從source自己compile安裝的在 prefix/share/gnats/gnats-db 如果是rpm或deb這樣的distribution套件方法安裝 也可能在/var/lib/gnats/gnats-db下 這下面的檔案是gnats用來管理的
gnats-adm 目錄 |
categories |
SUPPORT SITE
安裝gnats prefix/share/gnats或/var/lib/gnats放了需要管理的project名單(categories) 裡面的檔案就是host名字也就是site(因為這是拿來做tech support) 每個檔案裡放了需要回報的專案名稱 例如我有一個檔 /var/lib/gnats/zeus的內容
gcc |
Email Alias
使用email回報時必需用email alias,在`/etc/aliases'裡 , 在gnats的機器建立一個email alias, 用像vacation的方法pipe到queue-pr這隻script來
gnats-admin: gnats |
# newaliases |
GNATS Demon
使用client/server方法時必需有gnatsd這隻deamon
/etc/services |
client - client端的使用者命令
Email回報PR
有下面四隻程式會被用到
send-pr 回報問題的人用的(tester, customer) |
SEND-PR: -*- send-pr -*- |
To: bugs@xxx (就是上面email aliases的address) |
用query-pr去看gnats database結果
query-pr |
M-x send-pr |
Client/Server回報PR
後記:公司的Bug tracking system要增加一個專案名稱,搞了我三天,原來是linux的權限問題,因為這個系統已經架好,只是要增加名稱,原來的負責架設的人終於出差回來,所以問題也迎刃而解,還是要好好學習linux。
2007年3月13日 星期二
安裝 Trustix Linux2.6.17.14-2tr + Php5.2.0 + Mysql 4.1.22+ Apache2.0.59
所以就嘗試用Trustix Linux來架設!
硬體配備:
CPU:P3-733MHz
Memory:128 + 64 = 192 MB
HDD:20 GB
一、安裝trustix linux,可至官方網站下載
http://www.trustix.net/papers/whitepaper.html
基本操作手冊
http://www.trustix.org/wiki/index.php/Main_Page
二、安裝Apache-2.0.59-1tr
#swup --install apache (會安裝最新的版本)
#apachectl start (啟動apache)
三、安裝php-5.2.0-3tr
#swup --install php (會安裝最新的版本)
#swup --install php-gd (圖形介面)
四、安裝mysql-4.1.22-1tr
#swup --install mysql (會安裝最新的版本)
#swup --install php-mysql
五、編輯 /etc/httpd/conf.d/ 下的"httpd-php.conf" or "httpd-mod_php4.conf",
把前面「#」全部拿掉,save。
#service httpd restart (改完任何設定,都要重新啟動apache)
六、證明php有支援,建立一個phpinfo.php的檔案
#vi /home/httpd/html/phpinfo.php
with the following code
在網址列打:http://網址/phpinfo.php 成功即可
七、設定php.ini檔
#vi /etc/httpd/php.ini
(1)把 short_open_tag= Off ===> On
允許 "< ?" 代替 "<?PHP"
(2)把 ;extension = mysql.so ===> 把 ;拿掉
(3)把 extension_dir="./" ===> 改成 "/usr/share/php"
(4)把 ;extension= gd.so === >把 ;拿掉
(GD是圖形介面,要讓GD support in php,當你想要使用php scripts 操作圖形檔案)
(5)memory_limit = 32M
設定 memory_limit 較高的數字