對於一臺新服務器權限的配置

做爲一個程序員,在網站沒有運維的狀況下,也要有可以搭建應用的能力,因爲不是專業的運維因此考慮的問題可能不夠全面,只顧着把應用搭起來,權限管理很是地鬆,認爲只要登錄 root 能夠運行命令就好了,這樣的話會有不少後患的,有的時候只是未爆發出來,當爆發出來就已經晚了。程序員

如下是我對一臺新服務器的權限的實例,歡迎你們拍磚。vim

1、技術人員經過本身的普通用戶權限進入系統,而後若是要運行須要 root 執行的就用 sudo 去執行就好,若是有多人要登陸,則每人配一個賬號。安全

2、服務器上應該禁止密碼登陸,由於密碼登陸有必定的漏洞,有的技術人員設的密碼跟沒搞過計算機同樣來個 123456,這個密碼就至關因而個後門了。服務器

3、因爲每一個人都有了賬號,那麼更理所固然的要把 root 用戶禁止登陸,經過經驗得知,若是不由止,有的人還要登 root,緣由可能有如下三點app

  1. 不明白爲何要有普通賬號
  2. 對安全看的過輕,認爲每次都要 sudo 去運行一個 root 權限才執行的命令很麻煩
    用戶管理
  3. 可能不懂權限,或許據說過,但絕對沒用過

4、修改默認 ssh 端口運維

添加賬號

$ useradd bob
$ mkdir -p /home/bob
$ chown -R bob.bob /home/bob

$ gpasswd -a bob sudo // 給用戶有 sudo 的權限
$ passwd bob  設置一個密碼,這個是做爲當用戶想要 sudo 去執行 root 執行的時候使用的

本地配置免密碼登陸

本地 ssh-keygen 生成一串密鑰ssh

本地 $ ssh-keygen
  /Users/bob/.ssh/some-app-server_id_rsa
  本地 $ ssh-copy-id -i .ssh/some-app-server_rsa bob@remote-server-address

配置ssh 客戶端,方便之後鏈接服務器。網站

本地 $ vim ~/.ssh/config
  Host some-app-server
    Hostname remote-server-address
    User bob
    Port 19422
    IdentityFile ~/.ssh/some-app-server_id_rsa

之後鏈接服務器就能夠直接 $ ssh some-app-server 就能夠用你的權限登陸進去了。命令行

配置 ssh 服務端

$ vi /etc/ssh/sshd_config
PasswordAuthentication no //禁止使用基於口令認證的方式登錄
PubkeyAuthentication yes //容許使用基於密鑰認證的方式登錄
Port 19422 // 把 ssh 端口改爲 19422 這個別固定,你能夠隨便用,本地要鏈接服務器,本地的端口得保持一致。
PermitRootLogin no // 不容許 root 遠程登陸

重戶服務器 $ reboot 使配置生效

本人再推薦一個 zshoh-my-zsh 有了這個,命令行就智能了好多,操做起來很是地方便,有興趣的本身去找找文檔。code

會同樣東西不是本事,從不會到會的,纔是真本事

相關文章
相關標籤/搜索