linux 服務器初始化配置流程

圖片描述

開發 web 應用的時候,常常須要配置服務器。我在阮一峯老師的 Linux服務器的初步配置流程 的基礎上,整理了這篇筆記。節約之後配置服務器的時間。html

修改 root 密碼

root 帳戶默認沒有密碼 安全起見 先初始化一個linux

passwd

建立 Linux 管理員帳戶

? 使用 Linux 服務器的時候,儘可能不要使用 root 帳號,處理平常操做,咱們新建一個管理員帳號。web

首先,添加一個用戶組(這裏我自定義的 admin)。算法

addgroup admin

而後,添加一個新用戶(假定爲 www)。shell

useradd -d /home/www -s /bin/bash -m www

上面命令中,參數 d 指定用戶的主目錄,參數 s 指定用戶的 shell,參數 m 表示若是該目錄不存在,則建立該目錄。數據庫

接着,設置新用戶的密碼。安全

passwd www

將新用戶(www)添加到用戶組(admin)。bash

usermod -a -G admin www

接着,爲新用戶設定sudo權限。服務器

sudo vi /etc/sudoers

找到下面這一行。網絡

root    ALL=(ALL:ALL) ALL

在這一行的下面,再添加一行。

root    ALL=(ALL:ALL) ALL
www    ALL=(ALL) NOPASSWD: ALL

上面的 NOPASSWD 表示,切換 sudo 的時候,不須要輸入密碼。若是出於安全考慮,也能夠強制要求輸入密碼。

root    ALL=(ALL:ALL) ALL
www    ALL=(ALL:ALL) ALL

最後,先退出 root 用戶登陸,再用新用戶的身份登陸。

配置 SSH 服務

把本身電腦的 ssh 公鑰,保存到服務器的 ~/.ssh/authorized_keys 文件中

直接使用下面的命令

ssh-copy-id -i ~/.ssh/id_rsa.pub root@123.456.78

而後,進入服務器,編輯SSH配置文件/etc/ssh/sshd_config。

sudo cp /etc/ssh/sshd_config ~     (備份,復原時使用)
sudo vi /etc/ssh/sshd_config

在配置文件中,將 SSH 的默認端口 22 改掉。假設使用 25000

Port 25000

而後,檢查幾個設置是否設成下面這樣,確保去除前面的#號。

選項 含義
Protocol 2 ssh 協議使用新版的
PermitRootLogin no 不容許 root 登陸
PermitEmptyPasswords no 不容許空密碼登陸
PasswordAuthentication no 使用密碼受權登陸
RSAAuthentication yes 使用RSA算法進行安全驗證
PubkeyAuthentication yes 容許公鑰認證
UseDNS no 禁用DNS反向解析 會加快速度
SyslogFacility AUTHPRIV 記錄用戶登陸信息

上面主要是禁止 root 用戶登陸,以及禁止用密碼方式登陸。

保存後,退出文件編輯。

接着,改變authorized_keys文件的權限。

sudo chmod 600 ~/.ssh/authorized_keys && chmod 700 ~/.ssh/

重啓 SSHD

sudo service ssh restart

或者

sudo /etc/init.d/ssh restart

運行環境配置

檢查服務器的區域設置。

locale

若是結果不是 en_US.UTF-8,建議都設成它。

sudo locale-gen en_US en_US.UTF-8 en_CA.UTF-8
sudo dpkg-reconfigure locales

而後,更新軟件

sudo apt-get update
sudo apt-get upgrade

最後,再根據須要,作一些安全設置,好比搭建防火牆,關閉 HTTPHTTPsSSH 之外的端口,詳細可參考這篇 《Securing a Linux Server》

特別番

阿里雲服務器

阿里雲服務器能夠在控制檯設置安全組規則。

什麼是安全組

簡單點,給你們舉個栗子?,我部署了一個 MongoDB 的數據庫,我怕別人黑我數據庫,我就能夠在安全組的規則裏設置 公網入方向 拒絕訪問 MongoDB 使用的端口 27017。只容許本地 locahost 訪問,禁止公網訪問。

下面是教科書版具體解釋

阿里雲產品介紹 請看這裏 安全組

安全組是一種虛擬防火牆,具有狀態檢測包過濾功能。安全組用於設置單臺或多臺雲服務器的網絡訪問控制,它是重要的網絡安全隔離手段,用於在雲端劃分安全域。

安全組是一個邏輯上的分組,這個分組是由同一個地域(Region)內具備相同安全保護需求並相互信任的實例組成。每一個實例至少屬於一個安全組,在建立的時候就須要指定。同一安全組內的實例之間網絡互通,不一樣安全組的實例之間默認內網不通。能夠受權兩個安全組之間互訪。

參考

Linux服務器的初步配置流程

相關文章
相關標籤/搜索