月份彙整: 2009 年 3 月

檔案系統管理(二)

掛載點與 /etc/fstab

/etc/fstab 檔案是系統開機時掛載檔案系統的重點設定檔,它包含了 6 個欄位:
#device          mount_point          FS_type          options          dump_freq          fsck_order
裝置                掛載點                   檔案系統         選項              傾印備份頻率       磁碟檢查順序
/dev/sda6        /mnt/data            ext3                defaults          0                         0

閱讀全文

檔案系統管理(一)

要新增一個新的檔案系統 (filesystems) 至檔案系統樹 (filesystem tree),有以下六個步驟:

確認裝置 (Identify Device):
首先要先確認要增加的裝置是那一個,如 /dev/hda 或 /dev/sda

分割裝置 (Partition Device):
可使用 fdisk 或 parted 來分割磁碟裝置,將其分割成預想的區域

製作檔案系統 (Make Filesystem):
利用 mkfs -t ext3 或 mke2fs -j 來格式化為 ext3 檔案系統

閱讀全文

帳號管理

使用者帳號

系統必須提供每個使用者帳號兩種類型的資訊:

.帳號資訊:UID 編號、預設的 Shell、家目錄、使用者群組、GID 編號等。

.認證資訊:分辨使用者登入時提供的密碼正確與否的方式。

帳號的資訊儲存在 /etc/passwd 檔案中,而認證資訊則儲存在 /etc/shadow 之中,每筆資訊存在獨立一行之中。

一般的應用程式或名稱服務(如 LDAP、NIS )不會直接存取 /etc/passwd 檔案,而是透過系統中的 C 函式庫中 libc 所提供的方法,如 getpwnam() 來取存 /etc/passwd 的資訊。

==============================

閱讀全文

SSH Tunnel 替代方案 Stunnel

用 SSH 建立 tunnel 很好用,可是終端機就不能關了,必須維持在連線狀態,如果終端機關掉了,SSH 連線也會跟著中止,這時使用 Stunnel 可以改善這項缺點。

Stunnel Server

#mkdir /var/run/stunnel (先建立 run pid 的目錄)

#chown nobody:nobody /var/run/stunnel (將目錄的權限改成 nobody 的)

#cd /etc/pki/tls/certs/ (到這裡來建立加密金鑰)

閱讀全文

SSH Port Forwarding 安全連線通道

使用 SSH 及 SSHD 可以建立安全連線通道,做法有兩種:

.ssh user@SSHDServer -L SSHClientPort:RemoteHost:RemotePort

(我本身會監聽 SSHClientPort,然後將它轉送到 SSHDServer,再由 SSHDServer 將封包送到 RemoteHost 的 RemotePort)

.ssh user@SSHDServer -R SSHDServerPort:RemoteHost:RemotePort

(你,SSHDServer 要負責監聽 SSHDServerPort 這個埠,然後將它轉送給我,我再將它送到 RemoteHost 的 RemotePort)

1. 由 SSH Client 本身監聽特定埠,由 SSHD 負責轉送到指定的主機:埠

# ssh localhost -L 8888:mail.so-net.net.tw:25 (由 ssh client 監聽 8888 埠,再由 sshd 轉送到 mail.so-net.net.tw 的 25 埠)
root@localhost’s password:
Last login: Sun Mar 22 20:55:28 2009 from 127.0.0.1

閱讀全文

OpenSSH Server SSHD

SSH 通訊協定有 Version1 和 Version2,即 V1 和 V2,V1只支援 RSA 加密,而 V2 支援 RSA 和 DSA 加密方式。

SSHD 有兩對金鑰:

Host Key:放在 /etc/ssh/ 之下,預設長度為 1024 bits,可設定加長至 2048 bits。

Server Key:儲存在 RAM 之中,預設長度為 768 bits,可設定加長至 1024 bits,Server Key 每小時會更新一次。

整個 SSH 通訊加密流程如下:

1. [SSH Client] ---(要求建立 SSH 連線)---> [SSH Server]

2. [SSH Client] <---(傳遞 HostKey 和 ServerKey 的公開金鑰)--- [SSH Server]

3. [SSH Client] ---(產生 SessionKey,再用 HostKey 和 ServerKey 加密:ServerKey(HostKey(SessionKey)),傳至 Server)---> [SSH Server]

4. [SSH Server]:用 HostKey 及 ServerKey 的私密金鑰,將 SessionKey 解密出來。ServerKey.Pri(ServerKey(HostKey(SessionKey))) --> HostKey.Pri(HostKey(SessionKey)) --> SessionKey。

5. [SSH Client] <---(使用 Session Key 加密進行連線)---> [SSH Server]

6. Session Key 每隔固定時間或傳遞了固定大小之後,亦會更換一次,再用同樣的方式傳遞給 SSH Server。

=========================================

閱讀全文

OpenSSH SSH 連線

在以往使用 telnet 連線時,在通訊過程中所傳的所以資訊都可以被有心人士監聽,因此出現了 SSH (Secure SHell protocol) 通訊協定,而 OpenSSH 則是支援 SSH 的一套工具軟體。

.OpenSSH 取代了一般較不安全的網路通訊應用程式。

.提供了使用者及密碼驗證方式(token-based authentication)。

.能建立加密安全通道讓不安全的通訊使用。

.基本設定檔放在 /etd/ssh 底下。

=========================================

閱讀全文