2011年7月15日 星期五

2011年7月1日 星期五

Ubuntu - Samba - 安裝與設定實作

一、smb.conf 設定 (sudo vi /etc/samba/smb.conf)
    1. 參考網站:


    2. 設定原則 (我的設定)
  • 原則 (1) : 用戶端需要輸入正確的帳號、密碼後,才能登入 Samba 伺服器。
  • 原則 (2) : 建立 2 個 Linux 使用者,分別 [tim]、[lcy],Linux 密碼分別為 [tim]、[lcy];而 Samba 密碼分別為 [mit]、[ycl]。
  • 原則 (3) : 建立一公用目錄 (/mnt/HDD30G/public),且 share name 為 [ public],讓 [tim,lcy]用戶皆可存取 (write/read)。
  • 原則 (4) : 使用者在登入後, 只能瀏覽自己的家目錄&公用目錄

    3. 設定參數 (我的設定)
    【 global】 設定
  •  Samba 伺服器的工作群組:workgroup = WORKGROUP
  • 用戶端登入成功後,會顯示「KSLAMP server (Samba, ubuntu)」文字, KSLAMP是我的 Ubuntu主機名稱:server string = %h server (Samba, ubuntu)  ==>[%h]它是一個變數,並且暫存 Ubuntu主機名稱。

  •  限定某網段的 IP 可登入 Samba 伺服器:
          <1> interfaces = 192.168.1.0/24 eth0
          <2> bind interfaces only = yes
  •  用戶端需要輸入正確的帳號、密碼後,才能登入 Samba 伺服器:
           <1> security = user
           <2> encrypt passwords = Yes ==>密碼要加密
           <3> passdb backend = tdbsam ==>密碼資料庫格式


    【 Domains】 設定 :NA (因為只有在內部網路的電腦可使用 Samba, 所以在此不用設定)
    【 Printing】 設定 :NA
    【 Misc】 設定
  • usershare allow guests = yes

    【 Share Definitions】 設定 <<重點!>>
  •  使用者在登入後, 只能瀏覽&寫入自己的家目錄
           [homes]
           comment = Home Directories
           path = /home/%S ==>[%S]它是一個變數,今天用戶[tim]想要存取自己的家目錄,他在Windows命令列輸入"\Samba伺服器IP\tim",輸入密碼認證後,[homes]被取代[tim],並且 [path=/home/tim], [valid users=tim]。
           browseable = no ==>只能瀏覽自己的家目錄
           read only = no ==>可以寫入自己的家目錄
           create mask = 0664 ==>建立檔案的權限為 664
           directory mask = 0664 ==>建立目錄的權限為 664
           valid users = %S

  •  使用者在登入後, 可以瀏覽&寫入公用目錄 [public]
           [public]
           comment = Share to all
           path = /mnt/HDD30G/public
           browseable = yes ==>可以瀏覽公用目錄
           read only = no ==>可以寫入公用目錄 [public]
           create mask = 0664
           directory mask = 0664
           valid users = sysadmin,tim,lcy
           admin users = sysadmin ==>sysadmin為系統帳號名稱
  •    
    4. 儲存 smb.conf 設定檔後,最好測試一下 smb.conf 設定檔是否正確:testparm


    5. 啟用 smb.conf 設定:sudo /etc/init.d/smbd restart


二、建立公用目錄 (/mnt/HDD30G/public)

    1. sudo mkdir /mnt/HDD30G/public
    2. chgrp users /mnt/HDD30G/public ==>開放公用目錄給 users群組
    3. chmod 775 /mnt/HDD30G/public ==>設定公用目錄權限 775
    4. chmod 775 /mnt/HDD30G/public/*.* ==>設定公用目錄內所有檔案的權限 775


三、加入使用者:[tim]、[lcy]
    1. sudo adduser tim ==>adduser 指令除了加入使用者 [tim] 外,還會自動新增一個家目錄 (/home/tim)
    2. adduser tim users ==>將已存在使用者加入已存在群組 users.
    3. sudo useradd -G users tim ==>useradd 指令與 adduser 指令不同,它不會自動新增一個家目錄。
    4. groups tim ==>查詢使用者 [tim]屬於哪些群組
    5. sudo vi /etc/passwd ==>確認剛剛加入的使用者是否已成為 Linux 使用者。


四、自我測試
    1. smbclient -L //192.168.x.x (ENTER) password (不輸入直接按ENTER) ==>匿名登入
    2. smbclient -L //192.168.x.x -U tim (ENTER) password (輸入密碼後,按ENTER) ==>使用者 [tim] 登入測試
    3. 若出現以下畫面,則表示使用者 [tim] 在登入後, 可以瀏覽自己的家目錄&公用目錄




五、若沒有出現上述畫面時,該如何做呢? 您必須先檢查 Samba帳戶資訊,為何要檢查?不是已經建立使用者 [tim], 並已經確認他是 Linux 帳戶了嗎....,沒錯,Samba帳戶與 Linux 帳戶各自儲存於不同地方:Linux 帳戶是儲存在 /etc/passwd, 而 Samba帳戶是儲存在資料庫中,還記得 smb.conf 參數_passdb backend = tdbsam--> 簡言之,使用者要進入 Samba 伺服器,則他必須是 Linux 使用者,而且他也必須是 Samba使用者之一。

>> 新增/查詢 Samba 帳戶命令 (pdbedit), 修改 Samba 使用者密碼命令 : smbpasswd

>> sudo pdbedit -L or sudo pdbedit -Lvw ==>查看 Samba 帳戶資訊
>> sudo pdbedit -a -u tim ==>新增 Samba 帳戶--[tim]


~Done~

    2011年5月21日 星期六

    Ubuntu - vsftpd - 安裝與設定實作

    一、vsftpd 安裝
    • 安裝完 Ubuntu Server 版作業系統後,以系統帳號/密碼登入Ubuntu系統
              sysadmin name : my english name
              sysadmin passwd : yuanxxxx
              MySQL passwd : mysqlxxxx
    • Ubuntu Server 主機 IP 建議使用固定 IP,不建議讓個人的 IP分享器自動指定 IP。
    • 確認 Ubuntu Server 主機是否能連線到網際網路 : ping www.google.com;若無法連上網路,則必須修改 2 個設定檔
      sudo vi /etc/network/interfaces
          
              sudo vi /etc/resolv.conf


      • 若還是連不上,則必須檢查 ISP-DNS主機 IP 是否輸入正確 或 Ubuntu Server 主機 IP與個人的 IP分享器 (My AP : ZyXEL P-334WT) 設定上是否有相衝突...等。例如:個人的AP是從 192.168.1.31開始動態指定 IP 給家裡網路的任一電腦,而你卻設定 Ubuntu Server 主機 IP=192.168.3.3,這樣就不行了。
      • 確定可以連上網路後,您可以加入喜愛的台灣區的「套件庫伺服主機位置」
        sudo vi /etc/apt/sources.list  

      • 最後依序輸入以下指令安裝「vsftpd」、「fail2ban」 :
        sudo apt-get update
        sudo apt-get upgrade
        sudo apt-get install vsftpd fail2ban

      二、vsftpd.conf 設定 (sudo vi /etc/vsftpd.conf)

          1. 參考網站: 


          2. 設定原則(我的設定):
      • 原則 (1): 允許匿名用戶登入,不允許匿名用戶上傳資料與建立目錄,但允許匿名用戶下載資料。
      •  原則 (2):允許本地用戶登入,而且只有特定的人(只有chroot_list內的本地用戶)不被 chroot.
      • 最大同時上線人數限制為 10 人,且同一 IP 來源最大連線數量為 2 個
      • 使用本地的時間,而非 GMT 時間
      •  

            
          3. 參數設定(我的設定):
            【 匿名用戶設定 】
      • 允許匿名用戶登入:anonymous_enable=YES (預設是 NO)
      • 不允許匿名用戶上傳資料: #anon_upload_enable=YES(加註解=使用預設值)
      • 不允許匿名用戶建立目錄: #anon_mkdir_write_enable=YES (加註解=使用預設值) 

            【 本地用戶設定 / 本地用戶設定檔在 /etc/passwd 】
      • 允許本地用戶登入:local_enable=YES
      • 本地用戶上傳檔案,該檔案的預設權限:local_umask=022
      •  
      • (NOTES : 以下三個參數都設定成 YES 表示:只有chroot_list內的使用者才不會被限制
      • 設定本地用戶限制在自己的家目錄之內:chroot_local_user=YES
      • 設定某些本地用戶限制在他們自己的家目錄內:chroot_list_enable=YES
      • 規劃那一個本地用戶會被限制在自己的家目錄內:chroot_list_file=/etc/vsftpd.chroot_list 
            
            【 全域設定 / 針對所有使用者的設定值 】
      • vsftpd 是以 standalone 的方式來啟動的:listen=YES (預設是 NO)
      • 允許使用者上傳資料:write_enable=YES 
      • 當使用者進入某個目錄時,會顯示該目錄需要注意的內容:dirmessage_enable=YES (預設是 NO= 不顯示)
      • 使用本地時間:use_localtime=YES(預設是 NO= GMT / 格林威治時間
      • 啟用上傳/下載日誌記錄:xferlog_enable=YES
      • 主動式連線的埠口:connect_from_port_20=YES
      • 設定最大同時上線人數max_clients=10
      • 設定同一 IP 來源最大連線數量:max_per_ip=2
      • 設定歡迎文字訊息:ftpd_banner=[歡迎文字訊息] 
           4. 儲存 vsftpd.conf 設定檔後,記得重新套用新的設定, 並啟動 vsftpd
      • sudo /etc/init.d/vsftpd restart


      三、為了能夠讓家裡多部電腦可以同時上網,原本就架設了一個 IP分享器 (My AP : ZyXEL P-334WT)。該台AP的設定我是用: PPPoE+動態IP,有設置無線網路WEP金鑰,並將 ISP (Seednet) 給的帳號、密碼輸入在 AP裡面,這樣家裡任一台電腦的網卡只要設定 dhcp, 就可以免撥接程式上網囉~





      而架了 Ubuntu Server 主機後,我是設定一個固定 IP 給 Server 主機 (IP=192.168.1.1xx ),而且並沒有在 AP裡面做特別設定, 這台 AP 好像知道這個 IP 已經被使用了,所以它也不會指定該 IP給家裡其他的電腦使用;一切都ok,我可以用筆電的 FileZilla Client 程式上傳/下載資料到 Ubuntu 主機.....不過,這只能說是 Intranet FTP Server.



      四、從網際網路 Internet 連線登入到 Ubuntu FTP Server 主機

              接下來,我想要讓這台 Ubuntu FTP Server 可以像中山、義守等大學FTP一樣, 可以供許多人從網際網路 Internet 連線登入這台 Ubuntu FTP Server 主機 上傳/下載資料。

              一開始我以為使用下列網址查詢本機"外部 IP Address"後,並將外部 IP 輸入至 /etc/network/interfaces ,且重新啟動網卡後就能夠利用 FTP Client 從"Internet"上傳/下載資料,但 很不幸的, 就是不行。
      >>查詢本機"外部 IP Address"網址:http://dir.twseo.org/ip-check.php

          經測試發現,當我重啟 AP, 再用筆電輸入上述網址查詢本機"外部 IP Address"時,咦  外部 IP 會變動;我也從網路上找到該台 AP 的設定手冊來進行設定,可是都無法成功。

              最後 我決定向 ISP 申請"固定IP" (PPPoE+固定IP 模式),這個很容易申請,只要進入 ISP業者網站線上申請即可。YES!  我得到一個固定 IP=221.xxx.yyy.zzz;接著 必須在 AP重新設定帳號(因為根據 ISP-Seednet 規定,若要使用固定連線,則 「T帳號」的後面必須加「#」),儲存設定並重啟 AP後,您可以請您的朋友試著從他的電腦 PING 這個固定 IP,若正常,表示該台 AP已擁有固定IP。

              若一切ok,最後需再進入 IP分享器 (My AP : ZyXEL P-334WT) 設定 SUA/NAT。如此才能讓外部電腦從網際網路 Internet 連線(到AP, 再由AP轉址)登入這台 Ubuntu FTP Server 主機。(WAN / 外部電腦<-->個人的 IP分享器<-->內部 Server)




      五、建立一些使用者帳號,允許他們可以從 Ubuntu FTP Server 公用下載資料區 download資料 (但限制上傳)
      1. 增加一個 Linux 使用者 [tim]:sudo adduser tim
      2. 這時候您若用 FileZilla Client / tim 帳號登入時,你會發現 tim用戶只能看到根目錄(其實是 tim用戶被限制在自己的家目錄 /home/tim/)
      3. 若您想要 tim用戶不被限制在自己的家目錄,則您必須將 tim 加入 /etc/vsftpd.chroot_list 中。



      六、如何加大 Ubuntu 主機硬碟容量 (mount other HDD to ftp/file Server)

          1. 參考網站: 

          2. 實作目標:將一顆 30GB 硬碟加入 Ubuntu Server
      • 主機板 Primary IDE / Master 的裝置與作用: : Maxtor 80GB ..for Ubuntu Server OS.
      • 主機板 Primary IDE / Slave 的裝置與作用: : DVD RW ROM.
      • 主機板 Secondary IDE / Master 的裝置與作用: : WD 30GB ..NEW HDD.
      • 若硬體安裝正確,您可以在 BIOS 看到新的硬碟裝置。 
      • 最好先用 Disk 工具 (例如:spfdisk, MHDD)進行磁碟掃描,個人偏好 spfdisk.
      • >>進入 Ubuntu Server..
          3. 新硬碟設定步驟:
      • 首先,我們必須找出硬碟代號:ls -l /dev/disk/ (by-id, by-path, by-uuid), 結果顯示如下:

      • 或者也可以使用:ll /dev/sd*  列出所有硬碟代號。這時候,得知新硬碟代號為「sdb」
      • 列出所有硬碟的資訊 (大小、磁柱、分割區partition..等):sudo fdisk -l
      • 硬碟切割:sudo fdisk /dev/sdb  ,>>開始對新硬碟進行切割 >>如下圖:

      • 因為我將整顆 30GB硬碟全部給一個 Partition, 所以只會看到「sdb1」;接下來就要格式化硬碟。
      • 格式化硬碟 (make filesystem, 「mkfs」/「mke2fs」),我們使用簡單的 '' 指令就好。
      • 在使用 mkfs 指令前,先看看 mkfs 指令支援哪些檔案格式:sudo mkfs [tab][tab]
      • 將新建好的 partition 格式化 ext4 格式:sudo mkfs -t ext4 /dev/sdb1
      • 磁碟檢查:fsck -C -f /dev/sdb1 (注意:fsck 前必須卸載磁碟;若檔案系統無太大問題,也不要輕易執行此命令)
      • 建立掛載點資料夾:sudo mkdir /mnt/HDD30G
      • 掛載 sdb1 測試:mount /dev/sdb1 /mnt/HDD30G  >> 掛載成功後,可以用指令 df (display filesystem -h) 確認是否掛載ok。df 另一個作用是查看根目錄的剩餘容量 (df /)。

      • 重開機後,您會發現剛剛已經掛載的 sdb1 並不會自動地被 mount 起來;您必須修改 /etc/fstab 檔案 (fstab=filesystem table),如下圖:

      • 使用 FileZilla Client 登入 Ubuntu FTP Server,測試是否可以上傳檔案到新的硬碟。若無法上傳,您必須先檢查登入帳號是否有該目錄 (/mnt/HDD30G) 的存取權限。(chgrp,chown,chmod)
      •  


      ~Done~

        2011年5月20日 星期五

        玩家採購(電腦/3C)

        ★★註記表示買過或試用過3C產品


        2012/06/15
            ●PX大通 數位電視專用天線 HDA-5000 --700~900★★ (v)--燦坤3C $799


        2012/06/01
            ●Garmin 衛星導航 / nuvi1300 / 無行車記錄器功能 --3,990★★ (v)--燦坤3C $3,990

        2012/01/31
            ●Toshiba Canvio 1TB / USB3.0 / 有備份軟體 --3,688★★ (v)--順發3C $3,688
            ● PX大通 HDTV高畫質雙天線數位棒 ED-725 --1,390★★ (v)--順發3C $790
         
        2011/12/23
        1. HITACHI XL系列 3TB 3.5吋外接硬碟組--5,700
        2. 創見StoreJet25A3 1TB USB 3.0 2.5吋抗震行動硬碟--4,400
        3. 創見 StoreJet 25H2P 1TB 2.5吋行動硬碟--4,000

        2011年5月15日 星期日

        Ubuntu OS 安裝在隨身碟(PenDrive)上

        一、準備工作
        • 2. 準備一個隨身碟 (4 - 16 GB)
        • 3. 按照 www.ubuntu.com web site 的安裝方法,就可以完成 Ubuntu系統隨身碟
        • 4. 實際上我這次準備了 2 個隨身碟:8 GB USB HDD(64-bit Ubuntu 10.10), 16GB micro ScanDisk(32-bit Ubuntu 10.10). 
        • Note : 不要把 64-bit Ubuntu 10.10 USB 插入 32-bit CPU 機器,極可能會將 USB 的開機磁區破壞掉。


          二、記得要進入 BIOS, 設定開機選項或是按「F11」「F12」進入開機選單,並選擇「USB-HDD」開機 >>> 這次實作的 32-bit Ubuntu 10.10 micro ScanDisk 無法在 MSI Laptop 上執行成功(無法進入到系統畫面),而 Acer小筆電卻完全沒問題。


          三、 進入 Ubuntu 後(從 BIOS 到開機完成大約 2-3 分鐘)
          • 先改變時區設定 (Taipei)
          • 接著您可以選擇變更語言(預設是英文)
          • 進入「Synaptic套件管理程式」安裝一些常用的套件:ffmpeg...,記得先將套件庫--Main, Universe, Restricted 選項打勾
          • 進入 「Ubuntu軟體中心」安裝一些常用的軟體:7zip, xpdf, ClamAV掃毒, gFTP...
          • 替 firefox 安裝一些常用附加元件:「Download Statusbar」「Imtranslator」「Add This」「Skipscreen」...等。

          2011年1月16日 星期日

          驅動程式備份軟體 的試用

          一、產品名稱
          二、使用方法:請參照上述「重灌狂人」連結。

          三、其他搭配工具:
          • SIW is a portable system information and diagnostics tool for Windows.