實踐一:Linux基礎實踐

1、Linux基礎實踐

1.1

1. 掌握軟件源的維護方法,配置系統使用軟件源鏡像。掌握經過軟件源來查找,安裝,卸載,更新軟件的方法。html

  這部份內容在許多學長學姐的報告裏都有很詳細的講解,我在此就不贅述了。linux

1.2

1. 掌握Linux權限管理的概念。掌握與權限管理相關的9bit的含義與設置方法。shell

  • Linux權限管理:Linux是一個多用戶多任務操做系統,便可以在系統上創建多個用戶,而多個用戶能夠在同一時間內登陸同一個系統執行各自不一樣的任務。爲保證互不影響,Linux進行文件權限劃分與管理,每一個用戶在權限容許的範圍內完成不一樣的任務
  • 轉換爲root模式:sudo su(將切換爲root身份,並要求輸入當前用戶的password)

  • 權限管理vim

    ①文件訪問者的分類(用戶級別)windows

    • 文件和文件目錄的全部者:u(User)
    • 文件和文件目錄的全部者所在的組的用戶:g(Group)
    • 其它用戶:o(Others)

    ②文件訪問權限的種類緩存

    • 基本權限安全

    讀(Read):對文件而言,具備讀取文件內容的權限;對目錄來講,具備瀏覽該目錄信息的權限
    
    寫(Write):對文件而言,具備修改文件內容的權限;對目錄來講具備刪除移動目錄內文件的權限
    
    執行(execute):對文件而言,具備執行文件的權限;對目錄來講,具備進入目錄的權限
    
    iv.「—」表示不具備該項權限

     

    • 特殊權限bash

    suid:只能應用在可執行文件上,容許任意用戶在執行文件時以文件擁有者的身份執行
    
    sgid:只能應用在可執行文件上,使任意用戶在執行可文件時,將以擁有組成員的身份執行
    
    粘着位:只能應用在目錄文件上,將使用戶在目錄中執行刪除時,只能刪除本身擁有的對象

     

    ③文件權限值的表示方法服務器

    • 第一個字符顯示文件的類型:網絡

    「-」表示普通文件。
    「d」表示目錄文件。
    「l」表示連接文件。
    「c」表示字符設備。
    「b」表示塊設備。
    「p」表示命名管道,好比FIFO文件(先進先出)。
    「f」表示堆棧文件,好比LIFO(後進先出)。
    「s」表示套接字。

     

    • 第一個字符以後有三個三位字符組:

    第一個三位字符組表示文件擁有者(u)對該文件的權限。
    第二個三位字符組表示文件用戶組(g)對該文件的權限。
    第三個三位字符組表示系統其餘用戶(o)對該文件的權限。
    若該用戶組對此沒有權限,通常顯示「-」字符。

     

    注意:目錄權限和文件權限有必定的區別。對於目錄權限而言,r表明容許列出該目錄下的文件和子目錄,w表明容許生成和刪除該目錄下的文件,x表明容許訪問該目錄。

    • 字符表示方法

    r--:   只讀           -w-:  寫         
    --x:   執行           rw-:  讀寫        
    -wx:  寫和執行        r-x : 讀和執行
    rwx : 讀寫執行        ---:  無權限 

     

    • 8進制數值表示方法

r:4           
w:2      
x: 1   
rw: 6         
rx: 5      
wx:3  
rwx:7         
0:表明沒有權限

 

2. 掌握chmod指令的使用

  • 功能:設置文件的訪問權限
  • 格式:chmod [參數] 權限 文件名
  • 參數:

R:遞歸修改目錄文件的權限
V:顯示指令執行過程
reference=<參考文件或目錄>:把指定文件或目錄的權限所有設成與參考文件或目錄的權限相同

 

注意:只有文件的擁有者和root才能夠改變文件的權限

  • chmod命令權限值的格式: 用戶標識符 +/-/= 權限字符

    ①用戶標識符:

    u:擁有者
    g:擁有者同組用戶
    o:其它用戶
    a:全部用戶  

     

    ②+/-/=:

     

  • +:向權限範圍增長權限代號所表示的權限
    -:向權限範圍取消權限代號所表示的權限
    =:向權限範圍賦予權限代號所表示的權限

     

  • ③權限字符:能夠是「r」(只讀)、「w」(可寫)和「x」(可執 行),以及它們的組合。

    ④示例:取消文件擁有者對haha文件夾的可讀、可寫、可運行權限

3. 掌握chown指令的使用

  • 功能:修改文件的擁有者和組別
  • 格式:chown [參數] 用戶名或用戶組名 文件名
  • 參數:

 

R:遞歸改變目錄的擁有者 
f:不顯示擁有者的詳細信息

 

 

  • 示例:

注意:必須在root模式下才有權限修改文件的擁有者和組別。

4. 掌握用戶與用戶組的維護方法

  • 更改root用戶:sudo su
  • 建立用戶:

useradd 用戶名
cat /etc/passwd(在 /etc/passwd 文件中增添一行記錄)

  • 刪除用戶:userdel 用戶名

  • 建立組:

groupadd 組名 
grep 組名 存放地址(/etc/group)

  • 刪除組:groupdel 組名

  • 設置密碼:passwd 用戶名

5. 修改開機腳本或編寫腳本

  • 進入/etc/init文件夾,打開rc-sysinit.conf文件

用線標記的那一行代碼:evn DEFAULT_RUNLEVEL=2的意思是,系統當前啓動後runlevel(運行級別)是2。修改數字就可實現切換用戶模式的基本操做。

Linux系統有7個運行級別(runlevel):

運行級別0:系統停機狀態,系統默認運行級別不能設爲0,不然不能正常啓動
運行級別1:單用戶工做狀態,root權限,用於系統維護,禁止遠程登錄
運行級別2:多用戶狀態(沒有NFS)
運行級別3:徹底的多用戶狀態(有NFS),登錄後進入控制檯命令行模式
運行級別4:系統未使用,保留
運行級別5:X11控制檯,登錄後進入圖形GUI模式
運行級別6:系統正常關閉並重啓,默認運行級別不能設爲6,不然不能正常啓動

 

  • 運行級別的原理

1. 在目錄/etc/rc.d/init.d下有許多服務器腳本程序,通常稱爲服務(service)
2. 在/etc/rc.d下有7個名爲rcN.d的目錄,對應系統的7個運行級別
3. rcN.d目錄下都是一些符號連接文件,這些連接文件都指向init.d目錄下的service腳本文件,命名規則爲K+nn+服務名或S+nn+服務名,其中nn爲兩位數字。
4. 系統會根據指定的運行級別進入對應的rcN.d目錄,並按照文件名順序檢索目錄下的連接文件
     對於以K開頭的文件,系統將終止對應的服務
     對於以S開頭的文件,系統將啓動對應的服務
5. 查看運行級別用:runlevel
6. 進入其它運行級別用:init N
7. init0爲關機,init 6爲重啓系統

 

  • 修改/etc/rc2.d/Sxxgdm 爲 /etc/rcx.d/Kxxgdm:sudo mv Sxxgdm Kxxgdm(S開頭的表示啓動,K開頭的表示不啓動,該語句的做用就是終止rcx.d目錄所對應的服務。)

  • 刪除某開機自啓動文件:sudo update-rc.d –f xxx remove(xxx是文件名中除了S和K之外的非數字部分)

6. 添加開機自啓動文件

  • 首先下載vim,在/etc/init.d文件夾下編寫一個新的腳本文件haha.sh

  • 而後給腳本文檔設置權限,執行命令sudo chmod 755 haha.sh後能夠看到haha.sh變成了可執行文件(綠色)

  • 將腳本的路徑寫入/etc/init.d/rc.local中

  • sudo update-rc.d haha.sh defaults 99(99爲啓動順序)

7. 理解並修改PATH環境變量

  • 概念:$PATH決定了shell將到哪些目錄中尋找命令或程序,PATH的值是一系列目錄,當運行一個程序時,Linux在這些目錄下進行搜尋編譯連接

  • 編輯PATH聲明的格式:

PATH=$PATH:<PATH 1>:<PATH 2>:<PATH3>:-----:<PATH N>

 

  • 環境變量更改後,在用戶下次登錄時生效,若是想馬上生效,則可執行下面的語句:$ source .bash_profile

  • 可用 export 命令查看PATH值
  • 可用 #echo $PATH 命令單獨查看PATH環境變量
  • 修改環境變量

1. # vim/etc/profile
2. 在文檔最後添加:export PATH="目錄:$PATH",保存並退出
3. #source/etc/profile

 

1.3

SSH概念:Secure SHell。經過使用SSH能夠把全部傳輸的數據進行加密,防止中間人攻擊,並且也可以防止DNS和IP欺騙。並且傳輸的數據是通過壓縮的,因此能夠加快傳輸的速度。SSH有不少功能,它既能夠代替telnet,又能夠爲FTP、POP、甚至PPP提供一個安全的「通道」。

1. 正確安裝SSH服務,並理解配置文件

  • 以root權限登錄linux系統並打開終端命令。輸入 rpm -qa |grep ssh 查找當前系統是否已經安裝SSH服務。若是顯示沒有安裝則執行 apt-get install openssh-server 命令來安裝SSH服務

  • 開啓SSH服務,並使用ps和grep命令經過管道查看特定用戶進程

  • 運行netstat -antp | grep sshd 命令驗證是否啓動了22端口(22端口爲ssh默認端口,確認SSH服務的開啓狀態)

  • 運行 vi /etc/ssh/ssh_config 命令進入ssh配置文件

Port 22:設置鏈接到遠程主機的端口。 
Cipher 3des:設置加密用的密碼。 
Mac:設置認證所使用的密碼。
ListenAddress 192.168.1.1:設置sshd服務器綁定的IP地址。
HostKey /etc/ssh/ssh_host_key:設置包含計算機私人密匙的文件。
ServerKeyBits 1024:定義服務器密匙的位數。
……

2. 用命令行啓動或中止相應服務,並從測試可正常從遠程接入

  • 啓動SSH服務:sudo /etc/init.d/ssh start
  • 中止SSH服務:sudo /etc/init.d/ssh stop
  • 使用ifconfig查詢linux虛擬機IP

  • 查看本機IP地址和虛擬機IP地址,將它們改成在同一個網段,並將網絡設置更改成橋接網卡模式

  • 在主機或其餘終端中使用ssh服務(本例中使用windows7中的putty軟件接入)

1.4

1. 利用用戶名/密碼實現身份認證

2. 利用證書實現身份認證

  • 運行puttygen.exe 選擇生成密鑰對(生成過程當中須要在當前程序活動窗口中滑動鼠標以生成隨機密鑰)。生成密鑰對以下圖所示。點擊save private 將私鑰.ppk 文件保存到本地。並複製公鑰內容。

  • 使用PUTTY鏈接主機,得到root權限。使用命令vim ~/.ssh/authorized_keys打開要修改的文件將公鑰內容粘貼進去,保存並退出。

  • 經過命令vim /etc/ssh/sshd_ config 修改配置文件,找到下⾯兩行代碼並去掉註釋:

PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys

以後保存並退出,斷開鏈接。

  • 再次使用PUTTY進行鏈接時,選擇「鏈接」->「SSH」->「認證」,選擇保存在本地的私鑰文件

  • 結果使用公鑰認證鏈接成功

1.5

1. 使用WinSCP 客戶端鏈接並進行文件傳輸

  • 輸入Linux的ip地址、用戶名和密碼,SSH服務默認端口號爲22(不要更改)

  • 彈出對話框提示緩存密鑰,選擇「是」
  • 登錄成功後便可進入界面進行文件傳輸

2. Windows中的PUTTY可運行XWindows程序

  • 安裝Xming,在桌面上打開Xming的快捷方式,並在目標的命令行中加上參數-ac

  • 開啓Xming程序,在PUTTY中勾選容許X11映射

  • 在PUTTY中以root帳號登錄,編輯SSH服務器的配置文件vi /etc/ssh/sshd_config並開啓TCP轉發和X11轉發,即加入以下兩句:

AllowTcpForwarding yes
X11Forwarding yes

 

  • 注:由於我登錄用戶名與存放公鑰的文件夾的擁有者不一樣,全部在配置文件內額外將StrictModes yes改成StrictModes no,並且生產機器禁止ROOT遠程SSH登陸,因此還需增長PermitRootLogin yes這句。(StrictModes爲yes必需保證存放公鑰的文件夾的擁有與登錄用戶名是相同的。)

  • 打開PUTTY,在終端登錄Linux。將輸出映射到本機:export DISPLAY=本機IP:0.0(0.0表示Xming 的display number爲0,若是display number設置成其餘值則需保持一致)

  • 在PUTTY中輸入命令便可打開相應的程序,如firefox、gedit

附錄

參考資料

  1. Linux系統的7個運行級別:http://blog.chinaunix.net/uid-22746363-id-383989.html
  2. Linux下查看和添加PATH環境變量:http://blog.sina.com.cn/s/blog_7dc29ca001017j6y.html
  3. SSH配置文件:http://www.cnblogs.com/phoenix/articles/115476.html
  4. Ubuntu爲root賬號開啓SSH登陸: http://blog.csdn.net/lichangzai/article/details/39379153
相關文章
相關標籤/搜索