lesson - 1 - IP /DNS /cat !$ /putty 知識擴充

1、知識點擴充
1.嵌入式Linux 開發與運維 、安卓手機  、
    Linux真正的用武之地是蓬勃發展的信息接入設備市 場。這些新興的設備只有有限的內存,價格也只有幾百美圓,所以開發者須要新的操做 系統來代替像Windows這樣昂貴、臃腫的操做系統。而Linux具備的短小、可定製、對Internet 極好的兼容性和低價特性使它成爲這一領域的最佳選擇。正是因爲這一緣由,軟件開發 商已經推出了能夠在手機、Palm裝置甚至汽車上運行的Linux版本。
此外,Linux還很是適合於各類專用計算機,例如收銀機 和其餘專用終端等。在這些應用領域,Linux是一個廉價、連網性能好且能替代Windows 等通用操做系統的替代品。
  
2.迴環網址
    :IPv6的迴環地址是 0:0:0:0:0:0:0:1,至關於IPv4中的127.0.0.1
    主要做用有兩個:一是測試本機的網絡配置,能PING通127.0.0.1說明本機的網卡和IP協議安裝都沒有問題;
                                另外一個做用是某些SERVER/CLIENT的應用程序在運行時需調用服務器上的資源,通常要指定SERVER的IP地址,
                                但當該程序要在同一臺機器上運行而沒有別的SERVER時就能夠把SERVER的資源裝在本機,SERVER的IP地址設爲127.0.0.1一樣也能夠運行。
本地迴環地址指的是以127開頭的地址(127.0.0.1 - 127.255.255.254),一般用127.0.0.1來表示。
 
3.什麼是DNS
每一個IP地址均可以有一個主機名,主機名由一個或多個字符串組成,字符串之間用小數點隔開。有了主機名,就不要死記硬背每臺IP設備的IP地址,只要記住相對直觀有意義的主機名就好了。這就是DNS協議所要完成的功能。
主機名到IP地址的映射有兩種方式:
1)靜態映射,每臺設備上都配置主機到IP地址的映射,各設備獨立維護本身的映射表,並且只供本設備使用;
2)動態映射,創建一套域名解析系統(DNS),只在專門的DNS服務器上配置主機到IP地址的映射,網絡上須要使用主機名通訊的設備,首先須要到DNS服務器查詢主機所對應的IP地址[1] 
經過主機名,最終獲得該主機名對應的IP地址的過程叫作域名解析(或主機名解析)。在解析域名時,能夠首先採用靜態域名解析的方法,若是靜態域名解析不成功,再採用動態域名解析的方法。能夠將一些經常使用的域名放入靜態域名解析表中,這樣能夠大大提升域名解析效率。
 
4.cat !$  
 最近還找到一種快速回退上一條歷史的一些小技巧,暫記錄之。
    一、 除了方向鍵上,還能夠用「!!」表明上一條輸入的命令,用這個的好處在於能夠將這兩個字符放在命令行任何位置以便於構成新的命令。
    例如:
    $./some-shell-command
    $cat !!
    則後一條命令就至關於cat ./some-shell-command,這樣作比先按方向鍵上回退一條命令,而後定位到開始,插入cat要快捷得多。
    二、 除了!!,!$表明得是上一條命令中最後一個parameter,這是個更有用的變量,例如:
    $ls /some-path-to-a-directory
    $cat !$/some-file.txt
    若是some-path-to-a-directory不幸爲一個很是長的路徑的時候,使用!$剛好就能省去輸入這個超長路徑的麻煩,這條命令實際 上就至關於cat  /some-path-to-a-directory/some-file.txt
    三、 !str表明以歷史命令中最近一條以str開頭的命令。
    好比!ssh 就是最後一次執行ssh的命令
    四、 !?str?表明歷史命令中最近一條包含str的命令。
    五、 !n和!-n,前者表明history命令顯示出來前面的條目數爲n的那條命令,後者表明當前命令條目數減去n的那條命令,例如!-3就表明3 條前的那個命令。
對比起來,1和2是至關實用的,剩下3條記得住就用,記不住也無妨了。
 $# 是傳給腳本的參數個數
 $0 是腳本自己的名字
 $1 是傳遞給該shell腳本的第一個參數
 $2 是傳遞給該shell腳本的第二個參數
 $@ 是傳給腳本的全部參數的列表
 $* 是以一個單字符串顯示全部向腳本傳遞的參數,與位置變量不一樣,參數可超過9個
 $$ 是腳本運行的當前進程ID號
 $? 是顯示最後命令的退出狀態,0表示沒有錯誤,其餘表示有錯誤
 
 
5.putty、secureCRT  、xshell
     設置密鑰私鑰
 http://www.vpser.net/security/linux-ssh-authorized-keys-login.html
    
. 配置Linux中的ssh
[root@Centos1 ~]#  mkdir /root/.ssh                                                   #建立.ssh隱藏目錄
[root@Centos1 ~]#  chmod 700 /root/.ssh/                                        #將.ssh目錄權限修改成700
[root@Centos1 ~]#  vim /root/.ssh/authorized_keys                            #在.ssh目錄下建立公鑰文件
將本地的公鑰文件裏的密碼複製到authorized_keys內
[root@Centos1 ~]#  chmod 600 /root/.ssh/authorized_keys                #將公鑰文件權限修改成600
[root@Centos1 ~]#  service sshd restart                                              #重啓sshd服務
[root@Centos1 ~]#  vim /etc/selinux/config                                        #關閉selinux防火牆
………………………………/省略
SELINUX= disabled                                                                              #將enforcing修改成disabled 
………………………………/省略
    
  暫時關閉selinux:setenforce 0:  永久性關閉: vi /etc/linux/config selinux=disable   (ssh 登錄,密鑰登錄)
  去除防火牆規則: iptables -F   保存防火牆規則: /etc/init.d/iptables save
 
6.SElinux
    SELinux是一種基於 域-類型 模型(domain-type)的強制訪問控制(MAC)安全系統,它由NSA編寫並設計成內核模塊包含到內核中,相應的某些安全相關的應用也被打了SELinux的補丁,最後還有一個相應的安全策略。任何程序對其資源享有徹底的控制權。假設某個程序打算把含有潛在重要信息的文件扔到/tmp目錄下,那麼在DAC狀況下沒人能阻止他。SELinux提供了比傳統的UNⅨ權限更好的訪問控制
     
fedora core 2開始, 2.6 內核的版本都支持se linux.咱們看看 Fedora core 5 裏的/etc/sysconfig/selinux標準設定吧。
# This file controls the state of SELinux on the system.
# SELINUX= can take one of these three values:
# enforcing - SELinux security policy is enforced.
# permissive - SELinux prints warnings instead of enforcing.
# disabled - SELinux is fully disabled.
SELINUX=enforcing
#SELINUX=disabled
# SELINUXTYPE= type of policy in use. Possible values are:
# targeted - Only targeted network daemons are protected.
# strict - Full SELinux protection.
SELINUXTYPE=targeted
SELINUX有「disabled」「permissive」,「enforcing」3種選擇。
Disabled就不用說了,permissive就是Se linux有效,可是即便你違反了策略的話它讓你繼續操做,可是把你的違反的內容記錄下來。在咱們開發策略的時候很是的有用。
至關於Debug模式。
Enforcing就是你違反了策略,你就沒法繼續操做下去。
SELINUXTYPE呢,如今主要有2大類,一類就是 紅帽子開發的targeted,它只是對於,主要的 網絡服務進行保護,好比 apache,sendmail,bind,postgresql等,不屬於那些domain的就都讓他們在unconfined_t裏,可導入性高,可用性好可是不能對總體進行保護。
另外一類是Strict,是NAS開發的,能對整個系統進行保護,可是設定複雜,我認爲雖然它複雜,可是一些基本的會了,仍是能夠玩得動的。
咱們除了在/etc/sysconfig/se linux設它有效無效外,在啓動的時候,也能夠經過傳遞參數selinux給 內核來控制它。(Fedora 5默認是有效)
kernel /boot/vmlinuz-2.6.15-1.2054_FC5 ro  root=LABEL=/ rhgb quiet se linux=0
上面的變動可讓它無效。
[ root@python sysconfig]# /usr/sbin/getenforce
Enforcing
確認有效後從新對文件系統賦予標籤:
[ root@python sysconfig]# /sbin/fixfiles relabel
或者
[ root@python /]# touch /.autorelabel
而後 reboot,你就在secure的Linux環境下工做了。
相關文章
相關標籤/搜索