亞馬遜雲教程2:新建用戶,sudo許可權,安裝軟體
概要:新建Ubuntu用戶,切換用戶,賦予用戶 許可權,ssh密鑰對登錄伺服器,使用Ubuntu命令行軟體,apt安裝刪除軟體,搜索資料,編譯軟體源碼
讀者:了解Linux/Unix命令行,雲初學者
時間:8000字,閱讀16min,操作20min
前提:亞馬遜雲教程1:創建並連接EC2, 了解基本Linux命令行指令如
大家平常使用的個人電腦,雖然可以設置多個登錄賬戶,但是,同一時刻,只能有一個賬戶操作這台電腦。大多數伺服器系統則是可以允許多個用戶同時操作一台電腦的。本節教程將介紹Ubuntu多用戶管理方法,包括添加用戶,設置用戶為超級管理員,切換用戶;生成ssh密鑰對登錄伺服器。另外因為大多伺服器系統中沒有桌面,所以運行軟體時並不像平時點幾下滑鼠就好了,本節也將介紹命令行軟體的運行方法,安裝新軟體以及刪除軟體的方法。在刪除軟體那一小節,介紹了如果不記得命令了,如何在網上搜索答案。
Ubuntu多用戶管理
要實現多用戶,首先要創建其他的用戶。大家可以跟隨「亞馬遜雲教程1:創建並連接EC2」的方法創建並登錄一台伺服器,在那個教程裡面,我們使用的是Ubuntu系統的默認用戶,其用戶名是ubuntu。我們可以用下面的命令新建一個新用戶,可以把roden更改為你需要的用戶名(後面所有的roden都要改為你這裡輸入的名字):
這句話的意思是,使用sudo(超級用戶許可權)添加一個用戶,用戶名是「roden」。按下回車之後,它會提示你輸入密碼,並再次確認密碼。然後使用默認值一路按回車就好了。下面是詳細的運行記錄:
這裡稍微解釋一下超級用戶許可權。因為Ubuntu系統支持多個用戶,所以就衍生出了非常嚴格的用戶許可權設置。就像一所學校裡面,不同的人的許可權是不同的,學生負責在教室學習,大廚負責在食堂做飯,招生辦的老師負責招收更多的學生。而超級用戶就是,ta什麼都可以做,不受任何限制。創建一個新的用戶需要使用到超級用戶許可權,啟用的方法就是用 運行命令。在運行了上面的命令之後,我們的系統裡面就有了roden這個用戶了。我們使用下面的命令切換到那個用戶:
「su」我推測是switch user (切換用戶)的縮寫,中間的一個小橫杆,或者叫中劃線/連字元(英文是dash 或 hyphen),要表達的意思是,切換用戶的同時,也切換到用戶根目錄。之後需要輸入該用戶的密碼。大家可以用 看一下當前工作目錄(print working directory),用 查看一下其他用戶的目錄。
用 命令退出roden用戶,回到ubuntu用戶。這裡 沒有直接退出連接到的伺服器,是因為我們之前在ubuntu用戶裡面登錄到了roden這個用戶,所以 的時候,退出的是roden,回到原來的ubuntu。這時再用 時會看到結果和之前的不一樣,再用 ,則退出了伺服器。
大家可以再打開一個終端, 到私有密鑰文件夾,用 命令登錄伺服器,你會發現兩個終端都可以輸入命令,互不影響,就相當於有兩個人(兩個鍵盤)在同時操作同一台電腦。
大家可以再次用ubuntu用戶登錄到伺服器,接下來我們要賦予roden超級用戶許可權。
解釋:ubuntu有超級許可權,所以可以執行 ,然後是用戶模式, 表示設置用戶組,admin是管理員,可以理解成是超級用戶;整句話就是把roden添加到超級用戶組中。大家可以用如下命令查看是否設置成功。
ssh密鑰對登錄伺服器
如果我們每次登錄伺服器都需要切換到私有密鑰的文件夾,然後指明我們要用那個文件登錄,就會比較麻煩。我們可以使用自己生成的ssh密鑰對來繞開這個問題。本系列教程第一講裡面已提到,密鑰對就像是接頭密語一樣,有上句和下句。對密鑰對來說,是明語(公有密鑰)和暗語(私有密鑰)。之前我們下載了AWS的私有密鑰,在伺服器裡面,存放著一個公有密鑰,他們倆匹配了,所以我們才能成功連接伺服器。我們接下來要自己生成一對ssh密鑰對。大家要在自己本地的機器(而不是伺服器)上面運行下面的 命令。命令和注釋:
現在我們把公有密鑰存放到AWS的伺服器上。先在本地機器上輸出公有密鑰:
然後登錄到伺服器上面去,把這段話放在roden根目錄下的這個文件裡面 。命令:
用 編輯文檔的步驟。這句話就相當於是在Windows系統中,在 文件夾下的新建了一個文本文檔 。之後依次鍵入 , (這個是Mac里的粘貼,如果是Win,使用 ), , , (回車鍵)。 不像Win的文本文檔那樣有可視化的窗口,有滑鼠定位, 是用命令操作的。剛剛那一串命令含義如下, 是 insert 的縮寫,也就是插入,然後把之前複製的公有密鑰粘貼進去, 是退出 insert 插入模式,返回接受指令模式, 里的 是告訴 開始輸入指令了, 是 write quit的縮寫,寫入後退出,也就是保存並退出。整個一些列操作就像是在Win裡面新建了一個文本文檔( ),把滑鼠放到了第一行第一個字元的位置,並準備輸入內容( ),粘貼了一段文字( ),點了關閉按鈕「x」,點擊了保存( , )。
記得在編輯完了之後,要更改該文件的許可權為只有自己可讀可寫。這是因為登錄成功之後,你就對伺服器有控制權了,所以Linux對該密鑰對文件的安全性要求比較高,否則其人或其他軟體更改了該文件的內容後,你可能就不能登錄成功,而且伺服器會有安全隱患。
現在,我們就可以使用自己生成的密鑰對(而不是從AWS上下載的)來登錄伺服器了。如果你沒有更改默認密鑰對的路徑和名字 ,可以直接使用 來登錄。如果更改了,則需要指明私有密鑰的位置。
登錄,測試sudo許可權,切換到默認用戶 , 切換到超級用戶 的命令如下:
這裡我們是通過在 (switch user)前面添加了 來實現切換到ubuntu,root用戶,因為我們不知道這兩個用戶的密碼(實際上默認是沒有密碼的,只能通過密鑰對登錄ubuntu用戶)。root是許可權最大的用戶了,有時用這個用戶執行管理相關的命令會方便一些,但是會有輸錯命令、誤刪文件的風險。所以建議大家使用普通用戶,手動輸入 來執行超級用戶命令。
現在,我們就可以刪除之前下載的AWS的私有密鑰了,之後可以使用自己生成的密鑰登錄。用相同的方法可以添加更多的Linux用戶。
使用Ubuntu命令行軟體
在桌面系統裡面使用軟體,我們一般是雙擊那個軟體的圖標,然後開始使用,使用好了之後就關閉。比如雙擊word,然後開始寫文檔,之後保存退出。在命令行裡面,整個過程類似,但是在展現形式上有些區別,因為我們不再使用滑鼠,所以都需要使用鍵盤鍵入文字來實現。實際上我們之前使用 的時候,就過了一遍命令行軟體的使用流程。我們會使用一個關鍵詞來調用(打開)那個軟體 ;然後我們會給這個關鍵詞後面添加一些參數, ,這個就像是給word文檔命名一樣;之後我們會在軟體中進行一系列操作;然後再保存退出。常用的軟體一般就是,軟體名 + 參數。退出軟體的方法,不同的軟體會有些許不同,不過大多都跟 有關。下面是幾個例子。
大家可以再回頭看一看前面的教程,其實都是在使用各種軟體。
安裝命令行軟體 - apt安裝
在Win或其他桌面系統裡面安裝軟體的時候,我們一般會下載一個軟體安裝包,然後設定一些選項,點擊下一步,安裝並使用。而在命令行裡面,我們可以下載一個源碼包,然後編譯它,然後使用相應軟體。不過大多數命令行系統都會有一個軟體包管理器,就類似於是iPhone的App Store,它收集了很多軟體,然後我們只需要輸入一個命令就可以安裝軟體了(App Store有些App需要付費,而命令行軟體包里的軟體,大多都是開源軟體,使用它們不需要付費)。在Ubuntu裡面,常用的軟體包管理器是Ubuntu s APT (Advanced Packaging Tool (高級包裝工具)) 我們可以使用命令 來調用這個包管理工具。下面我們以 這個類似於 的軟體為例,來講解如何安裝和卸載軟體。
在Ubuntu16.04中只需要輸入 就可以安裝軟體了,而在老版的Ubuntu中,需要使用 來安裝。安裝好了之後,我們就可以用前面講的方法使用了。
刪除apt軟體 & 搜索資料
有時我們可能錯誤安裝或者因為其他原因如磁碟空間不足想刪除一些軟體。如果是用apt安裝的話,我們可以使用下面的方法來刪除。有時我們可能不記得某一條命令是什麼了,可以上網搜索。在網上搜索一個計算機問題的時候,推薦大家盡量使用谷歌英文搜索。如現在谷歌「ubuntu remove apt installed software」(搜索並不一定需要給出最好的辭彙,接近即可,但更好的辭彙會縮短獲得答案的時間,這裡使用」how to uninstall apt installed package「可能更好),第一條結果是"askubuntu"的,這是Stack Exchange (Stack Overflow)公司出的一個站點,裡面的資料質量一般都很好。我一般看到該公司旗下站點的答案的時候就會直接仔細閱讀。可以看到被採納的答案是,使用 來刪除該軟體本身,使用 可以刪除這個軟體以及安裝這個軟體的時候附帶安裝的一些依賴軟體(依賴軟體就像,要學「高等線性代數二」就得先學「高等線性代數一「一樣,有時要安裝軟體X,必須先安裝軟體ABC,而刪除X的時候,可以選擇只刪除X,也可以選擇同時刪除ABC和X)。找到之後我們就可以嘗試別人給的答案了。
安裝命令行軟體 - 編譯源碼
有些軟體在軟體包管理器當中並沒有,或者說並不是最新版的,這時如果我們想安裝它們的話,就需要通過編譯源碼來安裝了。這個過程有時複雜,有時簡單,取決於有多少依賴項目需要預先安裝。這裡我以生物信息學中的一個軟體 為例,說一下怎麼通過源碼安裝。 是分析二代測序產生的基因序列時常用的一個軟體,它的功能是把測序產生的基因序列片段和研究物種(如人)的參考基因組進行比對,尋找該片段在基因組的位置。首先我們谷歌搜索找到 的官方網頁,https://github.com/lh3/bwa。然後根據它的提示,進行安裝。
中間我們遇到好幾個錯誤「Error」,如果大家理解錯誤的原因,就能很快處理它。我剛開始學習Linux的時候,每次遇到錯誤,都很煩躁,一般會重頭再來一遍,然後還是一樣的錯誤;中文搜索一下,解決不了;有時錯誤就擺在那裡了;到後來就非常害怕遇到錯誤「Error」。只到我開始閱讀英文的提示,才發現,原來大多數錯誤都是可以很快被解決的,而且所有的Error都給了原因,很多也都給了解決辦法。比如上面,很多都是沒有安裝相應軟體導致的。如: , 等。但是有一個錯誤,「fatal error: zlib.h: No such file or directory」,沒有給提示,也不是沒有軟體的原因,初次看到可能不理解,我們可以把帶有"Error"的那一行放到谷歌裡面看看。第一個結果是stackoverflow上的,前面已經說過,這裡面的答案的質量一般都很高,應該花時間仔細閱讀一下。之後,應該能理解我們是缺少一個叫「zlib.h」的頭文件,這個是編譯這個軟體的一個依賴項,所以我們要先安裝它。根據答案,我們可以通過這一行命令來安裝它 。之後,問題就解決了, 也成功安裝了。最後,我們提到了「把一個路徑添加到系統的環境變數還是經常用到的,感興趣的朋友可以自行搜索一下」。這個並不是太難,在後面的教程中,我們用到這個的時候,會簡單講一講。


TAG:生信技能樹 |
※Google的AI 能模仿你打電話,亞馬遜掃描用戶身體信息
※為什麼iPhone不需要安裝殺毒軟體?原因令安卓用戶臉紅
※微軟Cortana和亞馬遜Alexa終結合,將最大程度上提升用戶體驗
※「豬隊友」Facebook:谷歌、亞馬遜和Twitter也收集用戶數據!
※Facebook VR社交軟體推出新功能:允許用戶私人定製虛擬形象
※戴爾惠普建議用戶不要安裝有問題的 Spectre BIOS 更新
※中國亞馬遜Prime會員升級:Kindle用戶福音
※卡巴斯基又發警告:Rakhni勒索軟體加密用戶錢包私鑰,遠程安裝挖礦應用
※科技:亞馬遜承認它的 Alexa 隨機對 Echo 用戶發笑
※黑客可利用 iTunes 監管你的 iPhone;LG設備存在嚴重漏洞;印尼曝Facebook用戶信息被盜
※歐萊雅跟Facebook合作探索AR廣告,允許Facebook用戶用AR嘗試化妝品
※意法半導體收購圖形用戶界面軟體專業開發公司Draupner Graphics
※谷歌也做自媒體平台?新應用Bulletin允許用戶發布新聞
※oracle索引和用戶許可權
※一種新的Android惡意軟體HiddenMiner,影響印度和中國的用戶
※iPhone 用戶為什麼要轉用安卓手機?
※配置N-1代,小心MagicBook用「黑」魔法偷走你的用戶體驗
※微軟win10再搞事,警告用戶不要安裝其它瀏覽器:Chrome、火狐
※智雲Smooth 4手持雲台亮相CES Asia,希區柯克式變焦功能征服用戶
※華為MateBook X Pro體驗:瞄準Windows用戶