Linux課題實踐一linux
20135318 劉浩晨算法
1.1應用安裝shell
(1)掌握軟件源的維護方法,配置系統使用軟件源鏡像數據庫
刪除過時或者重複的軟件包;進入」系統設置「-」軟件和更新」-」ubuntu軟件「-「下載自…「-」其餘站點「-」選擇下載服務器「(通常使用16三、sohu等)而後進行認證,而後關閉,選擇」從新載入「而後自動下載便可ubuntu
手動配置軟件源鏡像:首先備份源地址列表文件:sudo cp /etc/apt/sources.list /etc/apt/sources.list.old,而後進行修改:sudo gedit /etc/apt/sources.listvim
gedit /etc/apt/sources.list,複製源連接:windows
deb http://mirrors.163.com/ubuntu/ trusty main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-security main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-updates main multiverse restricted universe
deb http://mirrors.163.com/ubuntu/ trusty-proposed universe restricted multiverse main
deb http://mirrors.163.com/ubuntu/ trusty-backports main multiverse restricted universe安全
將其複製進入剛剛的文件夾,能夠用gedit打開文件,比vi好用。服務器
而後繼續更新數據庫:sudo apt-get update網絡
(2)掌握經過軟件源來查找,安裝,卸載,更新軟件的方法
更新數據庫sudo apt-get update
查找包含部分關鍵字的軟件包:sudo apt-cache search <你要查找的name>
安裝軟件:sudo apt-get install packagename
卸載軟件:sudo apt-get remove packagename
升級軟件包:sudo apt-get -u install packagename
1.2用戶權限管理
(1)掌握Linux權限管理的概念。掌握與權限管理相關的9bit的含義與設置方法
Linux權限管理:Linux是一個多用戶多任務操做系統,便可以在系統上創建多個用戶,而多個用戶能夠在同一時間內登陸同一個系統執行各自不一樣的任務。爲保證互不影響,Linux進行文件權限劃分與管理,每一個用戶在權限容許的範圍內完成不一樣的任務。
linux有0-6個級別,其中各個級別的含義以下:
0:關機。該運行級別用於系統管理員迅速關機。不能爲默認的運行級別。
1:單用戶模式(維護模式)。該運行級別下網絡接口、文件共享等服務不能使用。
2:多用戶模式。這是debian系統的默認運行級別,字符界面。
3:多用戶模式。這是redhat系統的默認運行級別,字符界面。
4:自定義。通常不使用該運行級別。
5:多用戶模式。提供GUI界面。。
6:重啓。該運行級別用於系統管理員重啓系統。不能爲默認的運行級別。
簡單來看,0是關機;6是重啓;1是維護模式,提供有限的功能;2是字符界面的debian系統;3是字符界面的redhat系統;4不經常使用;5是GUI界面的系統。ubuntu系統下,運行級別2-5提供的服務是同樣的,即2-5級別沒有差異,因此ubuntu系統下0表示關機,1表示維護模式,2-5表示GUI界面的系統,6表示重啓系統。
init是Linux系統操做中不可缺乏的程序之一。 所謂的init進程,是一個由內核啓動的用戶級進程。
內核自行啓動(已經被載入內存,開始運行,並已初始化全部的設備驅動程序和數據結構等)以後,就經過啓動一個用戶級程序init的方式,完成引導進程。因此,init始終是第一個進程(其進程編號始終爲1)。
9bit含義及設置方法:
首先,Linux中文件的擁有者能夠把文件的訪問屬性設成3種不一樣的訪問權限:可讀(r)、可寫(w)和可執行(x)。文件又有3個不一樣的用戶級別:文件擁有者(u)、所屬的用戶組(g)和系統裏的其餘用戶(o)。
第一個字符顯示文件的類型。
「-」表示普通文件。
「d」表示目錄文件。
「l」表示連接文件。
「c」表示字符設備。
「b」表示塊設備。
「p」表示命名管道,好比FIFO文件(先進先出)。
「f」表示堆棧文件,好比LIFO(後進先出)。
「s」表示套接字。
第一個字符以後有三個三位字符組:分別爲文件擁有者(u)、文件用戶組(g)、系統其餘用戶(o)對該文件的權限。
若該用戶組對此沒有權限,通常顯示「-」字符。
注意:目錄權限和文件權限有必定的區別。對於目錄權限而言,r表明容許列出該目錄下的文件和子目錄,w表明容許生成和刪除該目錄下的文件,x表明容許訪問該目錄。
(2)掌握chmod、chown指令的使用
新建一個文件1
①chmod:改變文件的訪問權限
格式一(符號類型修改權限):chmod [who] [+ | -| =] [mode] 文件名
[Who]: u全部者 g組成員 o其餘成員 a全部人
[+ | -| =]: =從新制定權限 -:對目前的設置減小權限 +:對目前的設置增長權限
[mode]: 表示能夠執行的權限,能夠是「r「(只讀)、「w」(可寫)和「x」(可執行),以及它們的組合。
格式二(數字類型修改權限):chmod 權限數值文件名
r、w、x權限分別被賦值,r=4,w=2,x=1。每一個身份的數值累加而後合併。
②chown:修改文件全部者和組別
格式:chown [參數]<用戶名>(:<用戶組名稱>)<文件名>
參數:-R:遞歸改變目錄的擁有者
-f:不顯示擁有者的詳細信息
(3)掌握用戶與用戶組的維護方法
更改root用戶方法:sudo su
建立用戶:useradd 用戶名
建立組:groupadd 組名
grep 組名 存放地址(/etc/group)
刪除用戶:userdel 用戶名
刪除組:groupdel 組名
設置密碼:passwd 用戶名
(4)修改開機腳本或編寫腳本
理解知識:
內核啓動init;
init找到/etc/event.d/rc-default文件,肯定默認的運行級別(X);
觸發相應的runlevel事件,開始運行/etc/event.d/rcX;
rcX運行/etc/init.d/rc,傳入參數X;
/etc/init.d/rc腳本進行一系列設置,最後運行相應的/etc/rcX.d/中的腳本;
/etc/rcX.d/中的腳本按事先設定的優先級依次啓動,直至最後給出登陸畫面(啓動X服務器和GDM)。
每一個運行級別在/etc下都對應一個rcN.d目錄,N的範圍是0-6。系統啓動時,根據默認的運行級別執行相應rcN.d目錄下的服務。爲了管理方便,該目錄下全部的服務實際是軟連接到/etc/init.d目錄下相應的腳本文件。由init.d目錄下的腳本文件完成服務的啓動和關閉功能。rcN.d目錄下文件的格式爲:[SK]NNname。S表示啓動該服務,K表示關閉該服務;NN表示啓動順序號,最小的數字最早被啓動,最大的數字最後被啓動。name表示服務名稱。
實際操做:
ubuntu系統在/etc/init/rc-sysinit.conf文件中指定了默認運行級別。用戶能夠本身建立/etc/inittab文件,並設置默認運行級別,這樣系統優先使用/etc/inittab中指定的默認運行級別。
進入文件後,找到第14行,會看到 evn DEFAULT_RUNLEVEL=2,這條語句的意思是指系統當前啓動後runlevel是2。因此在這裏能夠將數字修改一下,就可實現切換用戶模式的基本操做了。
sudo update-rc.d –f xxx remove(其中xxx是文件名中除了S和K之外的非數字部分)
首先要在/etc/init.d文件夾下編寫一個新的腳本文件,本例中,腳本文件名爲新創建的腳本文件權限爲rw–r - - r - -
而後給腳本文檔設置權限:sudo chmod u+x,g+x,o=rx lhcJB或sudo chmod 755 lhcJB
輸入命令行:sudo update-rc.d lhcJB defaults 98( 98爲啓動順序)
將腳本的路徑寫入/etc/init.d/rc.local中
執行成功:
l 卸載開機自啓動文件:
$ cd /etc/init.d
$ sudo update-rc.d -f test remove
(5)理解並修改環境變量
方法一:直接命令行修改,從新啓動後會消失。
方法二:修改~/.profile,添加export PATH=$PATH:/home/1。此方法只對該用戶生效。
方法三:修改/etc/profile,添加export PATH=$PATH:/home/1。此方法對全部用戶生效。
1.3 基本服務SSH
(1)正確安裝SSH服務,並理解配置文件
SSH 爲 Secure Shell 的縮寫,由 IETF 的網絡工做小組(Network Working Group)所制定;SSH 爲創建在應用層和傳輸層基礎上的安全協議。SSH 是目前較可靠,專爲遠程登陸會話和其餘網絡服務提供安全性的協議。利用 SSH 協議能夠有效防止遠程管理過程當中的信息泄露問題。
安裝SSH:sudo apt-get install openssh-server;輸入:sudo /etc/init.d/ssh start。表示驗證成功啓動,如圖:
進入ssh 配置文件:vi /etc/ssh/ssh_config:
註釋:
Host *
選項「Host」只對可以匹配後面字串的計算機有效。「*」表示全部的計算機。
「ForwardAgent」設置鏈接是否通過驗證代理(若是存在)轉發給遠程計算機。
「ForwardX11」設置X11鏈接是否被自動重定向到安全的通道和顯示集(DISPLAY set)。
「RhostsAuthentication」設置是否使用基於rhosts的安全驗證。
「RhostsRSAAuthentication」設置是否使用用RSA算法的基於rhosts的安全驗證。
「RSAAuthentication」設置是否使用RSA算法進行安全驗證。
「PasswordAuthentication」設置是否使用口令驗證。
「FallBackToRsh」設置若是用ssh鏈接出現錯誤是否自動使用rsh。
「UseRsh」設置是否在這臺計算機上使用「rlogin/rsh」。
「BatchMode」若是設爲「yes」,passphrase/password(交互式輸入口令)的提示將被禁止。當不能交互式輸入口令的時候,這個選項對腳本文件和批處理任務十分有用。
「CheckHostIP」設置ssh是否查看鏈接到服務器的主機的IP地址以防止DNS欺騙。建議設置爲「yes」。
「StrictHostKeyChecking」若是設置成「yes」,ssh就不會自動把計算機的密匙加入「$HOME/.ssh/known_hosts」文件,而且一旦計算機的密匙發生了變化,就拒絕鏈接。
「IdentityFile」設置從哪一個文件讀取用戶的RSA安全驗證標識。
「Port」設置鏈接到遠程主機的端口。
「Cipher」設置加密用的密碼。
「EscapeChar」設置escape字符。
(2)用命令行啓動或中止相應服務,並從測試可正常從遠程接入
sudo /etc/init.d/ssh start開啓服務;
使用ifconfig查詢linux虛擬機IP,設置虛擬機與主機在同一網段內,能夠ping通:
在主機中使用ssh服務(本例中使用windows8.1 中的putty軟件接入)
輸入虛擬機帳號和密碼,接入虛擬機:
(3)利用用戶名/密碼與證書分別實現身份驗證
用戶名/密碼身份認證即前面測試接入
證書實現身份驗證:
運行puttygen.exe生成密鑰對:
將私鑰保存到本地,複製公鑰內容寫入遠程主機內:vim ~/.ssh/authorized_keys
修改/etc/ssh/sshd_config配置文件,去掉下面兩行註釋:
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys
保存修改,退出鏈接。再次鏈接時,選擇 鏈接->SSH->認證,選擇保存在本地的私鑰文件。成功鏈接:
(4)使用WinSCP客戶端鏈接並進行文件傳輸
成功傳輸文件:
(5)Windows中的PUTTY可運行XWindows程序
下載安裝Xming,後臺運行。
配置putty,勾選Enable X11 forwarding
而後使用putty的ssh與linux主機創建鏈接
在登陸的ssh的shell中輸入gedit或者firefox便可在windows上看到linux上的程序運行起來: