有時為了自己方便,會想要在 PHP 網頁執行 BASH Script 指令來更改目錄內的檔案,這時會遇到權限問題。
自己有遇到的解決方式筆記如下:
一、先修改該目錄的 SELinux 的 context 設定成網站內可寫入:
chcon -R -t httpd_sys_rw_content_t FOLDERS/
有時為了自己方便,會想要在 PHP 網頁執行 BASH Script 指令來更改目錄內的檔案,這時會遇到權限問題。
自己有遇到的解決方式筆記如下:
一、先修改該目錄的 SELinux 的 context 設定成網站內可寫入:
chcon -R -t httpd_sys_rw_content_t FOLDERS/
IPv4:
grep -Eo "([0-9]{1,3}[.]){3}[0-9]{1,3}" filename
IPv6:
grep -Eo "([0-9a-fA-F]{4}[:])([0-9a-fA-F]{0,4}[:]){0,6}([0-9a-fA-F]{0,4})" filename
因為目前有效的IPv6格式,前置為 2001、ff80、ff02,所以使用 ([0-9a-fA-F]{4}[:]) 做為開頭 (排除 ::1 格式)。
一、先建立黑名單:
ipset create blacklist hash:ip hashsize 4096
二、加入 IP 位址:
ipset add blacklist 192.168.0.5
ipset add blacklist 192.168.0.100
ipset add blacklist 192.168.0.220
三、建立 firewalld 規則:
firewall-cmd --direct --add-rule ipv4 filter INPUT 0 -m set --match-set blacklist src -j DROP
有時在寫 BASH Script 時,會用 date 查詢時間,在中文環境中的結果會是中文格式:
# date
五 11月 15 11:45:01 CST 2019
需求是要英文格式,但又不想用 # export LC_TIME=en_US.utf8 改變環境設定,可以用以下方式:
# LC_TIME=en_US date
Fri Nov 15 11:47:53 CST 2019
利用這種方式,LC_TIME=en_US 只會作用在該行指令,而不會影響系統的環境設定。
DNS over HTTPS (DoH) 是一個透過 HTTPS 加密傳輸來查詢網域名稱的協定,主要目的是為了改善使用者的隱私與安全,避免原始 DNS 協定中用戶的 DNS 解析請求被中間人竊聽或者竄改的問題,以達到保護用戶隱私的目的。Mozilla 官方部落格發表了一篇文章:「A cartoon intro to DNS over HTTPS」,裡面以簡單易懂的方式說明了 DoH 的需求原因及原理。
目前 DoH 已有由 IETF 發佈的 RFC 草案,其規範文件為 RFC8484,瀏覽器中 Firefox 及 Chrome 已支援 DoH 功能。
在 Linux 中,要用 uniq 移除重複行,要先 sort 才行。
使用 awk 即可免 sort 就能移除重複行:
awk '!x[$0]++'
這個指令是告訴 awk 要輸出那些行,其中變數 $0 是整個要處理的文字內容,而中括號 [ ] 是要它用陣列的方式處理。所以每一行的內容會 ++ 附加輸入到陣列 x 裡面,且必須是「!」沒有設定過的。
加個 -debug 的選項即可:
nslookup -debug www.ntpc.edu.tw
TLS 1.0 (傳輸層安全性協定,Transport Layer Security, TLS) 已推出將近20年,已確認具有安全性漏洞,要將 TLS 安全性協定提升至 TLS 1.1 以上,並停用 SSL 2、SSL 3、TLS 1.0,以確保網站資料傳輸安全。
閱讀全文在 CentOS 7 使用 yum 更新時,可能會遇到下列錯誤訊息:
Error: Delta RPMs disabled because /usr/bin/applydeltarpm not installed.