這次因為新的專案需要建置伺服器,過去都是看過外的教學,不過有時會忘記指令怎麼打或是忘記網址,乾脆自己動手來寫一個,同樣的,準備開始吧!

再開始之前我們需要先準備一台機器,同樣的你可以像我在 Google Cloud Platform 建立一台虛擬機器,至於教學部份可以參考我之前的教學「How to create server on google cloud platform」。

創建用戶

接著建置完成可以透過控制台進入遠端伺服器,接著我們輸入下方指令:

1
sudo adduser [name]

後方的參數是用戶名稱,可隨你想要的去建立,接著會詢問與確認密碼,接著就是一連串的個人資訊,不過我懶,我都直接按 Enter 繼續略過,完成後就代表帳號建立完成。

設定權限

接著記住目前的用戶預設是沒有root的權限,必須要把他加入群組,不過我們可以透過指令查看當前的群組

1
groups [name]

我們透過以下指令賦予用戶root的權限。

1
sudo usermod -aG sudo [name]

完成後我們還差最後一步,要寫入設定裡,下方指令可以進入設定檔內:

1
sudo visudo

然後在root底下加入設定的權限

1
2
root    ALL=(ALL:ALL) ALL
[name] ALL=(ALL:ALL) ALL

儲存關閉後,如此一來就能擁有權限拉!

接著我們需要先開啟密碼登入設定,透過指令去修改檔案,首先我們先進到下方檔案:

1
sudo vim /etc/ssh/sshd_config

然後移動到下方尋找PasswordAuthentication字樣,如果上方為 no,就無法透過密碼進行登入,可能會碰到Permission Defined的問題,我們把它修改成yes

1
PasswordAuthentication yes

接著ESC + :wq!進行儲存離開,然後就可以愉快的登入了!

不過為了保險起見我通常都會sudo reboot一下 XD~

刪除用戶

如果某天需要刪除某個特定用戶時,可以參考下方指令:

1
sudo deluser [name]

順便一提,如果想要刪除用戶時順便刪除他的目錄,可以參考:

1
sudo deluser --remove-home [name]

完成後,你可以透過sudo visudo,打開設定檔案,刪除他的設定權限:

1
2
root    ALL=(ALL:ALL) ALL
[name] ALL=(ALL:ALL) ALL # 刪除這條

如此一來就能刪除特定用戶!

登入用戶

接著我們可以透過 ssh 來進行連線:

1
ssh [name]@ip

如果當中遇到 Permission Defined,有可能是發生錯誤,或是上次連線失敗,你可以進入.ssh/known_hosts刪除你指定登入的 IP 位置,接著重新嘗試,如果發現還是不行可以參考上方的設定作法,可能少了步驟。