發表文章

目前顯示的是有「Linux作業系統」標籤的文章

Linux FirewallD

 在Linux裡面防火牆就是一個服務 它是一個持續在系統當中的一個軟體服務 那它會在我們外來的流量網路流量或者是內部的網路流量在通過這一個Linux的介面 我們的設備也就是像網路卡、無線網卡這種設備的時候 它可以進行一些管理比如說限制哪些流量可以進來然後限制哪些流量是可以出去的 所以哪一類的連線的網路封包可以通過我們的系統然後跟外部接觸 那Linux裡面從CentOS就是Red Hat 7開始就已經改採了那個FirewallD Linux裡面這個D這個字還蠻有趣的如果一個程式它是在背景 在我們的系統的後面那長持續的去執行常駐著 這一類在Linux裡面有個名字叫DAEMON那聽起來比較特別一點 所以當有很多的軟體或程式那你如果看到後面最後一個字是D的 大概都代表它是一個常駐在系統背後執行的一些服務程式 所以Firewall它也是一種系統的服務 FirewallD這個服務它是一種管理工具最後我們的封包或者是資料 能不能通過Linux或進入Linux 要靠的是Linux裡面的核心那核心裡面有一個模組 叫做netfilter的模組所以其實最終還是要靠核心 來達成防火牆的功能而這一個Firewall它的主要的工作它還是在管理這些必要的一些規則 像是某一些通過的埠號或某一些特定的封包可不可以進入或出去所以它還是透過核心來達成 man firewall-cmd firewall-cmd --get-zones firewall-cmd --get-default-zone firewall-cmd --get-active-zone firewall-cmd --list-all ls /usr/lib/firewalld/services/ 定義好的XML firewall-cmd --add-service=http --permanent firewall-cmd --add-service=https --permanent firewall-cmd --reload firewall-cmd --list-all firewall-cmd --add-port=9958/tcp --permanent firewall-cmd --reload firewall-cmd --list-all

Linux服務文件_常駐程式(服務配置)

圖片
每次主機重啟有些應用程式會希望可以自動啟動 有一個詞,英文原文:daemon。 A daemon is a service process that runs in the background and supervises the system or provides functionality to other processes. 港台用語:「常駐程式」 大陸用語:「守護進程」 記得在以前幾間公司時候這三種用語都聽過XDD 有時候可能有大陸對岸分公司的用語 或是類似跟外國廠商的信件用語 基本上就是代表一個在背景執行類似跑無窮迴圈固定會執行的任務 有時候沒有共同用語、用詞,容易會錯意增加溝通成本。 基本上於Linu作業系統,我們會藉由Systemd 建立服務文件以啟動和監視基礎 Web 應用。 可以將其想成windows服務,一樣概念只是在windows server通常用圖形介面配置,Linux環境可能就稍微要用比較難一點的指令跟配置文件了。 systemd is a software suite that provides an array of system components for Linux operating systems. The main aim is to unify service configuration and behavior across Linux distributions. systemd 是一種用於初始化、管理和跟蹤系統和服務的工具,而 /lib/systemd/system 目錄則是存放相關配置文件的地方,這些配置文件指定了如何管理和運行這些服務。 https://medium.com/hackernoon/a-brief-overview-and-history-of-systemd-the-linux-process-manager-ca508bee4a33 /lib/systemd/system 目錄則是 systemd 使用的一個主要目錄。在這個目錄中,存放了系統級的服務單位檔案(unit files)。這些服務單位檔案以 .service 結尾的文件形式存在,用來定義和控制如何啟動和管理服務。 每個 .service 文件包含了如何啟動、停止、重啟和管理相關服務的指令。這些服務可以是後台運行的伺服器程序,比...

Linux時間校正_將時區設定為台北

圖片
 將時區設定為台北 sudo timedatectl set-timezone Asia/Taipei

DNS從理論觀念到具體實踐溫故(軟體層面)

圖片
  https://digitalvarys.com/how-dns-works/ DNS(Domain Name System,網域名稱系統)作為可以將域名和IP位址相互對映的一個分布式資料庫,能使人更方便存取網際網路,而不用去記住冗長且難記憶IP地址數字串。 (備註:「網域」也就是網域名稱Domain Name的簡稱,和網址不太一樣,一個網址只會有一個網頁,而一個網域底下則包含很多的網址。) DNS分為 正反向解析 所謂正向解析就是將domain name轉換成IP Address 而反向解析也就是將IP Address 轉換成domain name Domain Name有區分不同部分,域名主要是由子網域(Sub Domain)、主(次級)網域(SLD,Second Level Domain)和頂級網域 (TLD,Top Level Domain)組成 其中次級網域+頂級網域形成所謂的「Domain 根(主)網域」,也就是Root Domain 因此有在GoDaddy貨Bluehost等虛擬主機購買域名時候,就很像是「google.com」整個組成一個網域名稱,通常這兩個part可自行於申請域名時候自己命名,也會影響SEO及辨識度好壞。 域名就很像店家招牌,每組域名都必須獨一無二,不可存有相同網站使用同一個主網域。 此外域名是具有效期限的,到期後若要再用則必須付費續申請。 當然也有免費域名但 https://digitalvarys.com/how-dns-works/ https://www.net-chinese.com.tw/nc/index.php/MenuLink/Index/AboutDomainName 頂級網域(Top-Level Domain, TLD) https://www.flickr.com/photos/bloggingbookshelf/ 1.通用頂級域名(Generic Top-Level Domains,gTLDs): .com(商業用途) .org(非營利組織) .net(網路基礎設施) .edu(教育機構) .gov(政府機構) .mil(軍事機構) 2.國家頂級域名(Country Code Top-Level Domains,ccTLDs): .cn(中國) .us(美國) .jp(日本) .uk(英國) .d...

Linux Ubuntu Apache上的管理配置筆記

圖片
安裝apache2 sudo apt install apache2 或 sudo apt-get install apache2 預設所有Apache設定檔都在此處 /etc/apache2/ apache2執行檔案路徑預設在 /etc/init.d/ 主要的設定檔 /etc/apache2/apache2.conf 可以修改以更改 Apache 全局設定,且該檔案負責加載設定目錄中的許多其他檔案。如果用 cat 開啟它,會發現有 /etc/apache2 的架構圖及相關說明在裏頭。 變更完.conf設定檔案都要做重新啟動變動才會生效 較新版Linux會用systemd作為預設系統服務管理,而較舊版的則是以sysvinit為主。 重啟apache2 Sysvinit指令:sudo service apache2 restart Systemd指令: sudo systemctl restart apache2 sudo systemctl restart apache2.service 重新載入apache2 Sysvinit指令:sudo service apache2 reload Systemd指令: sudo systemctl reload apache2 sudo systemctl reload apache2.service 停止apache2 Sysvinit指令:sudo service apache2 stop Systemd指令:sudo systemctl stop apache2 Sysvinit指令:sudo service apache2 status Systemd指令:sudo systemctl status apache2 指定Apache 將監聽的通訊埠設定檔 /etc/apache2/ports.conf 預設情況下,Apache 監聽通訊埠 80,當啟用提供 SSL 功能的模組時,Apache 監聽通訊埠 443。 儲存每個站點的虛擬主機目錄設定檔 /etc/apache2/sites-available 預設的網站是調用其中的 000-default.conf 設定檔 。Apache不會使用在此目錄中找到的設定檔案,除非它們連結到啟用的站點目錄,通常所有服務器區塊設定都在此目錄中完成,它是透過使用 a2ensite ...

Linux作業系統_VIM權限異常_vim error E212: Can't open file for writing

圖片
過往自己練習通常root權限都用習慣了,要做任何事情都暢行無阻, 現在在公司組織內由於權限控管 我只能用一般帳號登入,開始遇到一些怪怪的問題。 近期在用vim要存檔時直接下:wq 會出現錯誤訊息 E212: Can't open file for writing 這時可以透過,來做存檔的問題排除。 : w ! sudo tee % 等同由外部 sudo 再使用 tee 將 stdin 寫入檔案, 因此檔案變更,Vim 發覺有資料變更,需要重新載入檔案內容。 :w:Vim 的標準檔案寫入 !:執行外部命令 sudo:權限提昇 tee:把 stdin 存到文件的程式 %:Vim 的暫存器,存目前編輯文件的路徑名稱 可以 :echo @% 查看,更多資訊可見下面: :echo @% " directory/name of file :echo expand('%:t') " name of file ('tail') :echo expand('%:p') " full path :echo expand('%:p:h') " directory containing file ('head') Ref: vim error E212: Can't open file for writing http://oscarguo.blogspot.com/2016/09/vim-error-e212-cant-open-file-for.html Vim 使用 tee 和 sudo 解決臨時權限不足的問題 https://blog.longwin.com.tw/2018/11/vim-tee-sudo-permission-file-write-2018/ vim 用 :w !sudo tee % 进行保存的终极奥义 https://www.cnblogs.com/ayanmw/p/12769655.html

如何在Rasbian這套類Unix作業系統下做許多常見的系統設定

圖片
【一些在Rasbian作業系統中常用的指令及操作】 (1)查看python 版本 及 更換終端機預設默認的版本 (2)安裝截圖工具 (1)查看python 版本 及 更換終端機預設默認的版本 如何更換Linux 中預設默認的python版本 呢?? 圖片引用自: https://kknews.cc/zh-tw/news/gn3kry.html 在終端機中查看  python 預設版本的指令 python --version 在預設OS之中 python    為  2.7.9 假若此時我們想要切換python的版本的話 總共分成 兩種方法 method.1   針對用戶 去進行Python 版本的修改 指令: alias python='/usr/bin/python3.4' 這裡補充一個先備知識 在Linux系統下檔案目錄 一般預設會存有以下檔案結構 method.2  針對系統去進行Python 版本的修改 若我們要運行一份    .py  的python 程式檔 可透過 python  該檔名 去運行 這裡 我在樹梅派  中    寫了一個簡單的 python  程式 外接一個webcam 主要用來做過濾    藍色HSV空間的小範本 想要為某個特定用戶修改 Python 版本 只需要在其 home 目錄下創建一個alias(別名) 即可。 打開該用戶的~/.bashrc文件,添加新的別名信息來修改默認使用的 Python 版本。 (2)安裝截圖工具shutter 及簡意使用操作 截圖利器shutter   ----->  類似   Fastone Capture sudo apt-get install shutter 參考資料來源: [常見問與答] 如何在Raspberry Pi上擷取畫面? https://w...

那些我們一起搞不太懂Linux_軟硬連結概念語法的日子

圖片
在 Linux 及其他 Unix Like 作業系統中 假若我們要建立連結 可以用 ln    這個指令 先來解釋一下   連結   這個詞的含意!!! 打個比方其實很像Windows 的檔案捷徑(快捷) 也可以說是 檔案的 分身(內容本質相同,看起來也相同) 在Linux檔案連結中 常用語法 ln ln 建立的連結分兩種: (1)硬連結(hard link)  (2)軟連結(symbolic link) / 符號連結 預設 ln 會使用 hard link。 (1)Hard Link 是資料的真正連結(實體檔案實際所在目錄) 主要特色: 1.不同分割區 無法 做硬連結 2. 不能 針對目錄作硬連結 3.目標檔 與 硬連結檔 的 inode number 相同 4.目標檔 與 硬連結檔 的 檔案屬性 相同 5.目標檔 或 軟連結檔 修改內容後,另一個檔案的內容也會跟著更改 (同步更新) 6.任何一個檔案刪除後,另一個檔案仍保有元內容 一般在Linux系統下做檔案操作時 會有兩個細部過程 之後若再生一個檔案取名為  novel2.doc 並建一個 硬連結  就會 有相同的Inode標號  找尋到一樣對應的Inode表 此時存放數量就會更新成兩個 Inode更新檔案個數 (2)Symbolic link 能突破Hard Link一些做不到的先天限制 比如 跨檔案系統 、或者是 跨硬碟 等,應用上比較靈活 主要特色: 1.不同分割區 可 做軟連結 2. 可以 針對目錄作軟連結 3.目標檔 與 軟連結檔 的 inode number 不同 4.目標檔 與 軟連結檔 的 檔案屬性 不同 5.目標檔 或 軟連結檔 修改內容後,另一個檔案的內容也會跟著更改 6.目標檔 刪除後,軟連結檔 就為損毀的檔案 新增一個 novel2.doc 依照相同流程指向至Data區塊 十分特別的一點在於 連結(捷徑)檔案內容 存放的其實為 連結指向的檔案名稱 (也 包括位於的目錄路徑 ) 連結大小也是藉由此字串共幾字元來判定共多少byt...