Tag: Fedora
以前 MySQL 安裝後預設 root 密碼是空白, 為了增加安全性, 由 MySQL 5.7 開始, MySQL 在安裝時會自動建立一個 root 密碼, 需要修改才可以正常使用。 要找回這個 MySQL 建立的 root 密碼, 可以開啟 MySQL 的 error log, 在 Redhat 及 CentOS …
setuid 是檔案權限其中一種特性, 檔案加入 setuid 權限後, 其他用戶可以用檔案持有者身份執行檔案。而 setgid 跟 setuid 類以, 是其他用戶可以用檔案所屬群組的身份執行。 如果 setuid 使用不當, 會有很嚴重的安全問題, 所以使用前要小心。雖然有安全的問題, 但很多情況都要借助 setuid 解決, Linux 最常見的例子有 passwd 及 sudo, 一個普通帳號執行 passwd 修改自己的密碼時, 其實是用 root …
Clang 是一套在 UNIX 環境下的 C, C++ Objective-C 及 Objective-C++ 編譯器, 是一套可以替代 GCC 的套件。 在 RHEL 及 CentOS 7 安裝 Clang, 最簡單的方法是透過 EPEL Repo 用 yum 安裝, 以下是安裝方法: 先安裝 EPEL …
ip 指令的作用與 ifconfig 十分相似, 而 ip 指令在 RHEL 及 CentOS 也是預設安裝。而除了查詢網路設定外, 也可以用作設定網路, 以下是 ip 指令的一些常見用法。 查詢網卡名稱及使用的 IP 地址, 即如同直接執行 “ifconfig” 一樣: $ ip a 或 $ ip addr 或 …
iptables 是一套 Linux 下的防火牆,可以按需要建立 iptables 規則,允許或阻擋網路流量。但透過 SSH 設定 iptables 時要格外小心,因為如果設定錯誤,可能會阻擋外部連線,需要到機器面前進行修復,多年前我試過輸入一道錯誤的 iptables 指令,搞到要立即趕到 data center 修復。 iptables 設定時主要分三種類型,分別是 INPUT, FORWARD 及 OUTPUT。 INPUT: 這個行為是外來的連線,例如從遠端 SSH 到伺服器,iptables 會將這個連線定義為 INPUT。 FORWARD: 這是外來的連線,但最終目的地不是伺服器本身,只是轉送到其他機器,例如路由器,除了 …
Linux 下查看那個 TCP port 被佔用很實用, 以下列出 3 種在 Linux 下查看那些 port 已經被佔用, 及那些程式佔用這些 port 的方法。 Linux 查到 TCP Port 有開啟, 但是不知道是什麼程式佔用的, 要怎麼查出是被哪隻程式使用呢? 註: netstat -tln # 可以看到有哪些 IP:Port 開啟 …
透過路由器連接上網的 Linux 系統, 路由器會分配一個私 IP 地址, 用 ifconfig 指令只會看到私有 IP 地址。如果在 Shell Script 需要查看對外的 IP 地址, 除了可以用擷取一些顯示 IP 地址的網站外, 以下分享一個使用 dig 及 OpenDNS 取得出外部 IP 的方法。 使用上十分簡單, 只要一行指令便可以取得 IP: …
當設定好 DNS 伺服器後, 想查詢 DNS 的回應是否正常, nslookup 是其中一個很常用的工具。除了根據 /etc/resolv.conf 設定的 DNS 伺服器查詢外, nslookup 也可以手動設定要查詢的 DNS 伺服器。 要查詢 hostname 的 IP, nslookup 使用上很簡單, 例如想查詢 google.com 的 IP 地址, 語法是這樣: $ …
在 Shell Script 要將用戶的輸入的英文字母轉換大小寫,或者要將檔案內文字的英文字母轉換大小寫,可以透過 tr 指令實現。 先看看 tr 指令的使用方法, 轉換檔案內所有大寫字母到小寫: $ tr ‘’ ‘’ < input.txt > output.txt 以上指令會將 input.txt 的檔案內容,全部大寫字母轉換為小寫,然後將結果匯入到 output.txt 檔案。 要將小寫轉換到大寫字母,只要將 upper 及 lower 倒轉即可: $ …
在執行 crontab 內的指令時, 如果想要限制執行時間, 可以使用 timeout 指令完成, 而這個方法不僅適用於 crontab, 即是一般指令也適用。 在 man 查看 timeout 指令的用法: timeout – run a command with a time limit 再看看 crontab 的部份, 例如原來有一個 Shell …