LUKS 加密服務 適用對象 移動式設備資料保護
notebook, USB磁碟加密
提供32組插槽使用
把partition切成小塊加密,裡面放密碼、key_file
可以使用設定的密碼解密或者用key解密
注意事項 LUKS並不對檔案本身進行加密(針對整個partition,整個D槽) LUKS對於單一磁碟取走後能夠起保護作用 KUKS對於已經解密之磁碟內容不起保護作用 指令 cryptsetup luksFormat 建立加密磁碟 luksOpen 開啟加密磁碟 close 關閉已經開啟的加密磁碟 luks - 解密
mount - 掛起來
umount - 卸載
(順便同步, 如果未正確卸載可能會造成檔案毀損)
1 2 3 4 5 6 7 8 lsblk /dev/sdb cryptsetup luksFormat /dev/sdb cryptsetup luksOpen /dev/sdb secDisk mkfs.xfs /dev/mapper/secDisk mount /dev/mapper/secDisk /mnt touch /mnt/myfile umount /mnt cryptsetup close secDisk Dump/Status more cmds 使用插槽 刪除插槽 memcached的使用
Luks資料加密架構與資料救援方法
Linux檔案加密_GPG_GnuPG
請假六小時,來補課arrrhh
何謂索引式檔案系統 沒有索引的時候,磁碟越大要掃描越久 自從有了索引,大大增加了檔案讀取的效率 日誌系統 確保檔案操作完成 減少檔案操作中斷的異常問題(寫入到一半停電之類的) 目前流行的檔案系統都有支援日誌功能 ext3/ext4 XFS 可以減少檔案損毀發生機率 參考書 大師養成起手式:從核心真正了解Linux運作原理 圖解Linux核心工作原理(五星推推⭐5) 掛載項目 在上層權限缺失的情況下,可以由mount point層面做最後一層限制 man fstab Options: noexec 檔案掛載時,要限制不能執行使用者放置的可執行檔 nosuid nodev(目前比較少用) Linux如果是作為log server,可能會有放置檔案上限問題
UGO User Group Other
由三組位元所組成(八進制)
l for link, d for directory, -一般檔案(執行檔也是), c或d裝置檔 drwxr-xr-x, dr-xr-x---, 數字:
❔ r w x - 數值 4 2 1 0 ⚠️666& 777 注意
允許每個人都能讀寫檔案或目錄,可能會造成file tempering(檔案篡改)
SUID & SGID & SBIT
檔案系統 特殊權限 1. SetUID nosuid 在根目錄建立一個secure folder,設定成777,查看/secure/目錄的權限,
現在沒有雲原生可是不行的,了解一下下
Cloud native 公有雲、私有雲、混合雲 動態環境 - Node上下, stateless vs stateful 可擴展 - auto scaling (HPA) 聲明式 - ansible, terraform, K8S yaml 容器、微服務、無服務器 - K8S, OCP, Cloud Run, Cloud Function 最小化用戶的操作負擔 - auto healing (liveness, readiness) 所有的服務最好都是stateless
Stateless vs Stateful Stateless 無狀態,每次請求都是獨立 example JWT .map() Vue/React/Angular service Deployment (K8S) Stateful 有狀態,每次請求與過去相關 example Session .reduce() MySQL Volume/StatefulSet(K8S) 聲明式 - Ansible 聲明式 - Terraform CKA Kubernetes 認證使用命令式 kubectl run nginx -image=nginx
實務上用聲明式
紀錄一些 git bash 指令
git log -oneline 跟sourceTree_History_Description欄位基本一樣
git log 跟樓上一樣, 但多了些author/date訊息
Interactive Rebase 可用來修改local端的commit message 刪除local端commit 整理local端commits 合併多個commits為一個 將一個commit拆分為多個commits 注意:會重寫commit history,產生新的hash ID(i.e. new commit)
所以不能對已經push上remote repository的commits執行interactive rebase
git rebase -i HEAD~3
rebase interactive head till the three
要回去幾個節點之前? base commit是哪個?
copy hash id 9a23775 Head minus 3 接著會出現一個editor window,可控制head+前兩個commit
reword
不直接改commit msg,而是將pick改成reword,存檔關閉
接著才會出現該commit id的編輯器視窗,修改內文後存檔關閉 (esc+:wq)
squash
將該行commit和它的上一行(前一個commit)合併成同一個,存檔關閉 跳新視窗,寫入合併後的commit msg,存檔關閉
Voilà! 原本的兩個commits合併成一個惹!
git commit amend 可修改最近一筆local端本分支的 msg
Cherry-Picking - 合併特定一筆/特定幾筆commits [j1]<--[j3]<--[j2]--<branch_R> ↖ [j2]<--[j4]--<branch_J> 主要還是用 rebase 跟 merge,只有特殊情境才用
下周工作開始要用到 JavaScript, jQuery, HTML, CSS,特此複習
🦊Basic_1 變數 第一個字母必須為英文字母、底線_、錢字號$
後面可接英文字母、底線_、錢字號$、數字
大小寫有區別
關鍵字、保留字不能當變數名稱,詳閱MDN
JavaScript 1.3 起支援Unicode,可用中文(盡量避免)
ES6之後可用var(變數)、let(作用範圍與var不同)、const
所有沒透過var宣告的變數,都會自動變成全域變數
1 2 m = 1; console.log(m); //未宣告var會有後遺症 已經被 var 宣告過的變數可以再次被宣告 [合法]
1 2 3 var m = 1; var m = 2; var m = 3; 透過 let 宣告的變數不能被再次宣告
1 2 3 let m = 1; let m = 2; //⚠️Uncaught SyntaxError: Identifier 'm' has already been declared. 變數資料型別 變數本身不帶有資料型別資訊,其中的值/物件才有
變數沒有型別,值才有 JavaScript支援型別
基本型別 Primitives string, number, boolean, null, undefined Symbol (ES6之後多的型別) 物件型別 Object 可以用 typeof 運算子協助判斷型別
應朋友邀約在超完美狗保母上檔隔天的早晨看電影,這部影片是由柳演錫和車太鉉所主演的韓國寵物劇情片。據朋友說劇組在拍攝期間花了很多時間與電影中出現的狗勾們朝夕相處,想必這樣拍攝起來會減輕不少適應困難吧。
主角民秀是一位出版社社員,在與美麗的空服員女友求婚當晚,發現她的家族都對狗勾的口水過敏,每次去對方家裡之前都需要吃抗過敏藥。與表哥真國商量下,決定透過社群媒體影響力的方式,幫黃金獵犬魯尼尋找下一位家人,他們拜訪了怕吵的新生兒家庭、有嚴重潔癖的暴發戶創業家、尚未走出喪犬之痛的小男孩的家、家裡環境優渥的遠親的家,發現都不太適合,決定驅車前往濟州島拜訪當地的動物之家。
前往港口的路途中,他們在高速公路下救援了五隻米克斯幼犬,在附近中途之家收留了一隻巴哥犬,更在airB&B主人庭院贖回了遭到虐待的毛小孩,一行人沿著濟州島達米安麵包店的線索找到患有帕金森氏症的富商女兒家,在一切條件近乎完美的情況下,卻因為女孩關於家人不會拋棄彼此的話而收回了請求。
回到首爾的民秀決定回到母親故居,正視傷痛並重新建立一個適合未婚妻與毛小孩共生的環境,而表哥真國則暫時住在親戚家幫忙照顧狗狗們,同時準備未來重開狗狗寵物咖啡廳的夢想。
這部電影有很多溫暖人心的寵物畫面、濟州島觀光美景、賺人熱淚的母子情誼、荒謬幽默的喜劇情節,可惜自己覺得在高速公路到橋下,接著前往動物中途之家,甚至救回即將被安樂死的狗狗這段情節意外的有點讓人出戲。另外他們千里迢迢來到濟洲島,卻未留下任何一名途中收留的毛小孩也有點讓人意外。只能說有些事情是要透過時間洗禮才能找到答案吧。
推薦這部電影給任何對狗狗、韓國旅遊、車太鉉(?)、金裕珍(??) 有興趣的人。
但如果你是極務實主義者可能就不太適合🤣