Linux實踐 – 創建用戶

  • 2019 年 10 月 25 日
  • 筆記

雙十一來了,搞了台便宜的雲伺服器,又需要搞搞環境什麼的,順便做個筆記~吧。

目標

創建一個admin用戶用於日常操作(root許可權太高,不宜直接使用)。

創建新用戶

adduser [用戶名]

[root@VM_0_8_centos ~]# adduser admin

設置密碼

passwd [用戶名]

系統對密碼有一定要求,不能太簡單,不然。。。

[root@VM_0_8_centos ~]# passwd admin  更改用戶 admin 的密碼 。  新的 密碼:  無效的密碼:密碼未通過字典檢查 - 它沒有包含足夠的不同字元  重新輸入新的 密碼:  抱歉,密碼不匹配。  新的 密碼:  無效的密碼:密碼未通過字典檢查 - 過於簡單化/系統化  重新輸入新的 密碼:  抱歉,密碼不匹配。  新的 密碼:  無效的密碼:密碼未通過字典檢查 - 它基於字典單詞  重新輸入新的 密碼:  抱歉,密碼不匹配。  passwd: 已經超出服務重試的最多次數  [root@VM_0_8_centos ~]#  [root@VM_0_8_centos ~]#  [root@VM_0_8_centos ~]#  [root@VM_0_8_centos ~]# passwd admin  更改用戶 admin 的密碼 。  新的 密碼:  [root@VM_0_8_centos ~]# passwd admin  更改用戶 admin 的密碼 。  新的 密碼:  重新輸入新的 密碼:  passwd:所有的身份驗證令牌已經成功更新。  [root@VM_0_8_centos ~]#

用新用戶登錄

用剛創建的用戶登陸一下試試。

PS: 記不住ip,所以在個人電腦的hosts文件中設置了個別名,因為用的騰訊雲伺服器,就叫qqcloud。

➜  hexo ssh admin@qqcloud  The authenticity of host 'qqcloud (馬賽克)' can't be established.  ECDSA key fingerprint is SHA256:馬賽克.  Are you sure you want to continue connecting (yes/no)? yes  Warning: Permanently added 'qqcloud' (ECDSA) to the list of known hosts.  admin@qqcloud's password:  Last failed login: ThuOct2419:00:16 CST 2019 from 馬賽克 on ssh:notty  There were 286 failed login attempts since the last successful login.  [admin@VM_0_8_centos ~]$

有句話引起我的注意:

There were 286 failed login attempts since the last successful login.

就這一會已經被嘗試登錄286次了,想必是一些惡意的程式在亂掃亂試,難怪不讓我用簡單密碼。

sudo

sudo [root用戶專屬命令]

雖然root用戶不適合日常使用,但偶爾還是需要它的力量,比如改改hosts。這些敏感指令需要root許可權,當使用非root許可權用戶登錄時想執行這些命令,只需要在 命令前面加上sudo。

[admin@VM_0_8_centos ~]$ sudo vim /etc/hosts    我們信任您已經從系統管理員那裡了解了日常注意事項。  總結起來無外乎這三點:    #1) 尊重別人的隱私。  #2) 輸入前要先考慮(後果和風險)。  #3) 權力越大,責任越大。    [sudo] admin 的密碼:  admin 不在 sudoers 文件中。此事將被報告。  [admin@VM_0_8_centos ~]$

新用戶沒有sudo許可權。而且,雖然我的機器默認是中文似乎有點low,但其實看這些提示挺方便的。

授權sudo給新用戶

vim /etc/sudoers

打開配置文件後找到root用戶的配置,照著樣子把admin也加上。保存時提示文件為只讀,強行保存就行了(wq!)。

vim用法

## Next comes the main part: which users can run what software on  ## which machines (the sudoers file can be shared between multiple  ## systems).  ## Syntax:  ##  ##      user    MACHINE=COMMANDS  ##  ## The COMMANDS section may have other options added to it.  ##  ## Allow root to run any commands anywhere  root    ALL=(ALL)       ALL  admin   ALL=(ALL)       ALL    #sudo時不需要輸入密碼  #admin   ALL=(ALL)       NOPASSWD:ALL

免密登錄

自己的電腦登錄自己的雲伺服器,還要鎚子密碼。

先在雲伺服器上初始化,命令:

ssh-keygen

需要輸入的地方直接回車即可。

[admin@VM_0_8_centos ~]$ ssh-keygen  Generating public/private rsa key pair.  Enter file in which to save the key (/home/admin/.ssh/id_rsa):  Created directory '/home/admin/.ssh'.  Enter passphrase (empty for no passphrase):  Enter same passphrase again:  Your identification has been saved in/home/admin/.ssh/id_rsa.  Your public key has been saved in/home/admin/.ssh/id_rsa.pub.  The key fingerprint is:  SHA256:馬賽克 admin@VM_0_8_centos  The key's randomart image is:  +---[RSA 2048]----+  |     馬賽克       |  |      馬賽克      |  |     馬賽克 ++o   |  |      馬賽克      |  |     馬賽克       |  |  馬賽克馬賽克     |  |  馬賽克馬賽克     |  |   馬賽克馬賽克    |  |   馬賽克馬賽克    |  +----[SHA256]-----+

生成目錄: /home/admin/.ssh

[admin@VM_0_8_centos .ssh]$ pwd  /home/admin/.ssh  [admin@VM_0_8_centos .ssh]$ ll  總用量 8  -rw------- 1 admin admin 167910月 2500:23 id_rsa  -rw-r--r-- 1 admin admin  40110月 2500:23 id_rsa.pub  [admin@VM_0_8_centos .ssh]$
  • id_rsa 秘鑰,需要保密
  • id_rsa.pub 公鑰,暴露給別人

因為需要這台伺服器對某些機器信任,讓它們不需要輸入密碼也能進來,所以需要維護一個被信任用戶的列表,列表裡面是被信任用戶的唯一標識,也就是對方的公鑰。

在/home/admin/.ssh目錄下創建一個文件authorized_keys,然後把希望被信任的電腦的公鑰輸入進去,多個換行隔開即可。

還差點,需要把authorized_keys的許可權設為600,否則不生效。

chmod 600 authorized_keys

– END –