iT邦幫忙

2023 iThome 鐵人賽

DAY 10
0
DevOps

嘿,稍等一下!別急著開發功能,先來打造 Walking Skeleton 吧!系列 第 10

【Walking Skeleton】Day10 - 用 SCP 上傳和下載檔案

  • 分享至 

  • xImage
  •  

上傳或下載檔案通常都會另外安裝 FTP 軟體,不過這個方法不需要裝東西,因為我懶得裝東西所以我更喜歡用這個方式傳檔案

設定 Linux 權限

在開始之前先調整一下權限,昨天那個方法比較像是應急,正常來說會設定一個權限群組,然後把目錄的群組改成這個,還有把使用者加入到群組裡,每個人都有自己的帳號,最小範圍的開放權限

首先要新增群組,Linux 中新增群組的指令是 groupadd {名稱},我想新增一個專門用來修改這個網站的群組,所以就叫做 2023ironman

sudo groupadd 2023ironman

輸入 cat /etc/group 查看群組列表,看看有沒有建立成功

在最底下出現了 2023ironman

接下來是把使用者加入到群組的指令 usermod -aG {群組名稱} {使用者名稱}

sudo usermod -aG 2023ironman admin

再來一次 cat /etc/group 看看有沒有加入成功

2023ironman 後面多了 admin,看來是加入進去了

最後是把 /var/www/html/ 的群組權限改掉,修改資料夾的群組權限是 chgrp -R {群組名稱} {資料夾目錄}

sudo chgrp -R 2023ironman /var/www/html/

輸入 ls -al /var/www/html/ 來看看權限有沒有變成 2023ironman

差點忘了還要改讀寫權限,左邊中間三個字元是群組的讀寫權限,現在是 -xr 表示只有讀取和執行權限,現在的權限是 755,要把它改成 775,輸入 sudo chmod -R 775 /var/www/html/

再來一次 ls -al /var/www/html/ 看看有沒有修改成功

現在就可以建立新的檔案或資料夾了~


用 SCP 上傳檔案或資料夾

回到本機,新增一個資料夾 about,並且在裡面放一個 index.html 檔案

about
└─ index.html

上傳檔案的指令

scp {本機檔案路徑} user@host:{遠端檔案目錄}

上傳目錄的指令

scp -r {本機目錄路徑} user@host:{遠端檔案目錄(路徑不包含要傳目錄)}

現在我要將 about 整個目錄上傳到 /var/www/html/,所以指令是以下這樣

scp -r about/ 2023ironman:/var/www/html/

瞬間就傳完了,連線進去看看確實傳上來了呢

然後就發現這個權限不對阿,不是應該要是 root 2023ironman 嗎,這樣其他在 2023ironman 的使用者就改不了這個資料夾了欸

所以上傳完記得要把權限改成對的,$_ 表示最後使用過的參數

sudo chown -R root:2023ironman /var/www/html/ && sudo chmod -R 775 $_

這樣就完成啦


用 SCP 下載檔案或資料夾

下載也很簡單,反過來寫就可以了

下載檔案的指令

scp user@host:{遠端檔案路徑} {本機檔案目錄}

下載目錄的指令

scp -r user@host:{遠端檔案目錄} {本機目錄路徑(路徑不包含要傳目錄)}

來試試下載 about 資料夾

scp -r 2023ironman:/var/www/html/about/ .

看起來沒甚麼問題,順利下載成功


上一篇
【Walking Skeleton】Day09 - 用 VSCode 連線進 EC2 修改網頁內容
下一篇
【Walking Skeleton】Day11 - 使用 Git 版本控制來記錄變更
系列文
嘿,稍等一下!別急著開發功能,先來打造 Walking Skeleton 吧!34
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言