Tag: Debian & Ubuntu

Linux ftp 指令

FTP 是兩台電腦間傳送檔案的工具, 而 Linux 已經內建了 ftp 指令, 可以用作傳送檔案。但要留意的是, ftp 是沒有經過加密的通訊協定, 如果傳送敏感的資料, 建議使用 SFTP.在 Linux 要連接到遠端 FTP 伺服器, 只要在 ftp 指令後面加入遠端主名稱或 ip 即可, 例如: $ ftp 192.168.1.100 以上指令會嘗試連線到 192.168.1.100, 成功連接後, 會彈出要求輸入 …

Linux 下的 &, &&, | 及 || 的用法

在 Linux 下執行指令, 很多時會用到 &, &&, | 及 ||, 以下是它們的用法:& 如果在指令後面加上 & 符別, 即表示指令在背景執行, 例如 my-script.sh &&& 用 “&&” 分開兩個指令, 即第一道指令執行成功後, 才會執行第二道指令, 例如 make && make install| 這是管線的符號, 即是將第一道指令的輸出, 作為第二道指令的輸入, …

Linux 強制使用者下次登入修改密碼

在 Linux 建立使用者帳號後, 一般會使用隨機密碼作為帳號的密碼, 以下會示範強制使用者在下次登入後, 必須修改密碼。1. passwd 指令passwd 指令用作修改密碼, 一般使用者只可以修改自己的密碼, 而系統管理員則可以修改所有帳號的密碼, 以及設定關於密碼的選項。只要以 root 身份在 passwd 指令後面加入 -e 參數, 再加上帳號名稱, 便可以設定帳號的密碼過期, 帳號下次登入後便會要求更改密碼: # passwd -e username 當帳號登入後, 會看到以下訊息: You are required …

Linux 建立大過 2TB 的硬碟分割區

fdisk 是十分常用的硬碟分割工具, 但 fdisk 最大問題是, 建立的分割區上限是 2TB, 所以不能建立大過 2TB 的分割區。這時可以使用另一個 parted 指令, 它可以建立大於 2TB 的分割區。以下是 parted 的使用方法。p.s. 如果未使用過 parted 指令, 建議先在一台沒有的電腦上試用, 因為 parted 指令會對執行立即寫入硬碟.安裝 partedRHEL, CentOS, Fedora: $ sudo yum …

Shell Script 使用 #!/usr/bin/env

在 Shell Script 的第一行稱為 shebang, shebang 由 “#!” 開頭, 並在後面加上解譯器的絕對路徑, 即類似:#!/bin/sh #!/bin/bash #!/usr/bin/perl #!/usr/bin/python如果 Shell Script 不同的平台執行, 指定的解譯器可能位置有所不同, 如果想增加 Shell Script 在不同 Unix Like 環璄的可流動性, 可以使用 /usr/bin/env 作為 shebang.使用方法只要在 /usr/bin/env …

make 及 make clean 的作用

在編譯源代碼安裝軟體時,很熟悉的步驟是 make 及 make install, 例如: # ./configure # make # make install 以下是 make 及 make clean 的分別:make 一般上, make 是 make all 的簡寫,它根據 makefile 的規則,將 C/C++ 檔案編譯成 .o …

Shell Script 產生亂數

Shell Script 提供了 $RANDOM 變數,直接用 echo 印出或調用已經可以產生亂數。用 $RANDOM 產生的隨機數會在 0 – 32767 之間,而每次使用 $RANDOM 後,它便會被定義一個新的數值,以下是使用例子: $ echo $RANDOM 這樣便會印出一個隨機數。以上方法雖然簡單,但最大的問題是不能定義隨機數的長度,因為 $RANDOM 只會產生介乎 0 – 32767 之間的數值。要定義亂數的長度,可以用 awk 來做,例如:以上定義了產生 6 個位長度的亂數,介乎 100000 …

產生 /etc/shadow 格式的加密密碼

Linux 將系統帳號關於密碼的資訊儲存在檔案 /etc/shadow, 而密碼是經過加密。不論基於任何原因, 如果需要手動編輯 /etc/shadow 的密碼, 便需要產生一個與 /etc/shadow 使用相同加密方式的密碼。而且不用安裝其他工具, 用 Python 便可以產生這個加密密碼。在 shadow 內的加密密碼, 以下列格式儲存:$ID$SALT$ENCRYPTED上面的 $ID 是加密方式, $SALT 是一個最多 16 位的隨機字串, $ENCRYPTED 則是 password hash.其中 $ID 分別有以下幾種:$1 -> MD5 …

甚麼是 DNS Non-authoritative answer

用 nslookup 指令查詢域名的 ip 時,會有一行 “Non-authoritative answer”,例如這樣:這裡的 Non-authoritative answer 表示所查詢的 DNS (上面是 8.8.8.8),並不是原始的 DNS 紀錄來源,是由域名所設定的 DNS Server 取得資料。那麼甚麼時候不會出現 Non-authoritative answer 呢,就是直接向域名登記的 DNS 查詢,例如 google.com 使用的 DNS 是 ns1.google.com, 用以下指令查詢便不會出現 Non-authoritative …