一、ssh(secure shell,安全的指令解釋器)
ssh服務為客戶機提供安全的shell環境,用于遠端管理,預設端口:tcp 22;ssh是目前應用最為廣泛的伺服器遠端管理方式.
1、ssh使用者登陸驗證方式分為兩種:
密碼驗證:輸入使用者名和密碼
密鑰對驗證:在客戶機中生成的公鑰、私鑰
2、伺服器端主配置檔案:/etc/ssh/sshd_config
1
2
3
4
5
6
7
8
9
10
11
12
13
<code>port 22 </code><code>#監聽的端口(預設22)</code>
<code>listenaddress 192.168.1.10 </code><code>#監聽 的ip位址(預設監聽所有ip)</code>
<code>permitrootlogin no </code><code>#禁止root使用者遠端登入</code>
<code>logingracetime 2m </code><code>#限制使用者登入驗證過程的時間(預設為2分鐘)</code>
<code>maxauthtries 6 </code><code>#限制使用者登入驗證過程的最大重試次數</code>
<code>rsaauthentication </code><code>yes</code> <code>#開啟rsa認證</code>
<code>pubkeyauthentication </code><code>yes</code> <code>#開啟密鑰對驗證</code>
<code>authorizedkeysfile .</code><code>ssh</code><code>/authorized_keys</code> <code>#指定公鑰位置,預設在使用者宿主目錄下</code>
<code>permitemptypasswords no </code><code>#禁止密碼為空的使用者遠端登入</code>
<code>passwordauthentication </code><code>yes</code> <code>#啟用密碼驗證</code>
<code>denyusers </code><code>test</code> <code>#拒絕test使用者遠端登入系統,其他均允許</code>
<code>allowusers </code><code>test</code> <code>[email protected] </code><code>#允許test在任何ip的主機上遠端登入,允許admin隻能在主機10.0.0.10登入,其他均拒絕(不要同時使用allowusers和denyusers配置)</code>
<code>usedns no </code><code>#dns查找,用戶端連接配接伺服器時,伺服器會根據用戶端的ip位址進行ptr反向查詢,查詢到用戶端主機名,再進行dns正向a記錄查詢,這樣連接配接時就會等待一下,要關閉此選項會提高ssh連接配接速度。</code>
3、ssh指令遠端登陸
<code>方式1:</code><code>ssh</code> <code>使用者名@ip</code>
<code>方式2:</code><code>ssh</code> <code>-l 使用者名 ip</code>
<code>方式3:</code><code>ssh</code> <code>-p 端口 使用者名@ip </code><code>#不加-p,預設使用22端口</code>
4、使用scp指令遠端複制檔案或目錄(需要安裝openssh-clients)
<code>方式1:</code><code>scp</code> <code>使用者名@ip:源檔案 目标路徑</code>
<code>方式2:</code><code>scp</code> <code>本地檔案 使用者名@ip:目标路徑</code>
<code>方式3:</code><code>scp</code> <code>-r 本地目錄 使用者名@ip:目标路徑 </code><code>#-r複制目錄下所有檔案</code>
5、使用用戶端工具遠端登陸
方式1:putty #字元頁面
方式2:winscp #圖形頁面工具,一般用于下載下傳
6、配置ssh密鑰對認證登陸
1>.在客戶機上建立密鑰對
<code>ssh</code><code>-keygen -t rsa </code><code>#一路回車</code>
2>.登陸ssh伺服器,建立.ssh目錄及設定權限
<code>mkdir</code> <code>/root/</code><code>.</code><code>ssh</code>
<code>chmod</code> <code>700 </code><code>/root/</code><code>.</code><code>ssh</code>
3>.将公鑰上傳到伺服器并重命名為authorized.keys
<code>scp</code> <code>/root/</code><code>.</code><code>ssh</code><code>/id_rsa</code><code>.pub [email protected]:</code><code>/root/</code><code>.</code><code>ssh</code><code>/authorized_keys</code> <code>#id_rsa.pub可以追加多個用戶端的公鑰</code>
4>.設定ssh伺服器,開啟密鑰對驗證,關閉密碼驗證
<code>rsaauthentication </code><code>yes</code>
<code>pubkeyauthentication </code><code>yes</code>
<code>authorizedkeysfile .</code><code>ssh</code><code>/authorized_keys</code>
<code>passwordauthentication no</code>
<code>service sshd restart</code>
5>.驗證登陸
<code>ssh</code> <code>[email protected] </code><code>#不用輸入密碼直接登陸到ssh伺服器</code>
二、tcp_wrappers機制
1、tcp_wrappers原理圖

2、安裝tcp_wrappers
yum install tcp_wrappers.x86_64
主配置檔案:/etc/hosts.allow,/etc/hosts.deny
3、安全機制實作方式
方式1:通過tcpd主程式對其他服務進行包裝,需要運作tcpd
方式2:由網絡服務程式調用libwrap.so.*連結庫,不需要運作tcpd #更為常用
ldd指令檢視程式的共享庫:
<code>ldd </code><code>/usr/sbin/sshd</code> <code>|</code><code>grep</code> <code>"libwrap"</code>
<code> </code><code>libwrap.so.0 => </code><code>/lib64/libwrap</code><code>.so.0 (0x00007fd9ee03e000)</code>
4、配置通路控制政策
配置格式:伺服器程式清單:客戶機位址清單
伺服器程式名有vsftpd,sshd,telnetd等以逗号分隔,all表示所有程式
客戶機位址:單個ip,一個網段(192.168.1.0/255.255.255.0)以逗号分隔,all表示所有位址
5、tcp_wrappers通路控制原則
首先檢查 hosts.allow 檔案,若找到相比對的政策,則允許通路
否則繼續檢查 hosts.deny 檔案,若找到相比對的政策,則拒絕通路
如果兩個檔案中都沒有相比對的政策,則允許通路
三、使用vnc server遠端桌面
vnc軟體主要由兩個部分組成:vnc server及vnc viewer。将vnc server安裝在被控制的主機上,才能在主要端執行vnc viewer控制被控端。
vnc服務使用的tcp端口号從5900開始,例如:桌面号是1,則使用的端口号是5901,桌面号是2,則端口号為5902,vnc server相關檔案都儲存在/home/user目錄下
1、安裝vnc server
<code>yum </code><code>install</code> <code>-y tigervnc-server</code>
2、修改配置vnc
<code>vi</code> <code>/etc/sysconfig/vncservers</code>
<code>vncservers=</code><code>"1:root,2:user"</code> <code>#1為桌面号,用戶端遠端使用需要添加上</code>
<code>vncserverargs[1]=</code><code>"-geometry 800x600 -alwaysshared"</code> <code>#-alwaysshared代表允許多使用者同時登陸</code>
<code>vncserverargs[2]=</code><code>"-geometry 800x600"</code>
3、設定vnc登陸密碼
<code>vncserver :1 </code><code>#root使用者密碼設定</code>
<code>su</code> <code>- user,vncserver :2 </code><code>#普通使用者設定</code>
4、使用vnc viewer登陸
<code>service vncserver start</code>
<code>chkconfig vncserver on</code>
停止vnc server:
<code>vncserver -</code><code>kill</code> <code>:1</code>
<code>vncserver -</code><code>kill</code> <code>:2</code>
四、磁盤管理
1、檢視系統中的磁盤裝置:fdisk -l [磁盤裝置]
device boot start end blocks id system
device:磁盤裝置分區名
boot:是不是引導分區,*則是
start:該分區在磁盤中的起始位置(柱面數)
end:該分區在磁盤中的結束位置(柱面數)
blocks:該分區大小,以blocks(塊)為機關,預設塊大小是1024位元組
id:分區類型的id标記号,對于ext3分區為83,lvm分區為8e。
system:分區類型
2、分區格式化新磁盤裝置
<code>fdisk</code> <code>-cu 磁盤裝置(例如:</code><code>/dev/sdb</code><code>)</code><code>#考試時候要用-cu參數</code>
-u:搭配"-l"參數清單,會用分區數目取代柱面數目,來表示每個分區的起始位址,即改變分區大小的顯示方式
-c:辨別一個分為dos相容的分區
3、互動模式中常用指令
m:檢視操作指令的幫助資訊
p:清單檢視分區資訊
n:建立分區
d:删除分區
t:變更分區類型
w:儲存分區設定并退出
q:放棄分區設定并退出
變更磁盤(特别是正在使用的硬碟)的分區設定以後,新的分區在/dev下檢視不到,partprobe指令也不能把新分區調出來。隻有兩種方法,一個是重新開機,另一個就是partx -a /dev/硬碟裝置。
4、格式化并建立檔案系統
<code>mkfs.ext4 </code><code>/dev/sdb1</code>
<code>mkdir</code> <code>/data</code>
<code>mount</code> <code>/dev/sdb1</code> <code>/data</code> <code>#将分區挂載到/data</code>
<code>-----------------------------------------------------</code>
<code>也可以使用tune2fs将ext3轉換ext4</code>
<code>tune2fs -o extent,uninit_bg,dir_index </code><code>/dev/sdb1</code>
<code>e2fsck </code><code>/dev/sdb1</code>
<code>fsck</code> <code>-pf </code><code>/dev/sdb1</code>
<code>df</code> <code>-h </code><code>#檢視是否成功</code>
<code>使用tune2fs将ext2轉換ext3</code>
<code>tune2fs –j </code><code>/dev/sdb1</code>
5、增加交換分區
1>.添加交換分區檔案為2g
<code>dd</code> <code>if</code><code>=</code><code>/dev/zero</code> <code>of=</code><code>/opt/swap</code> <code>bs=2048m count=1</code>
2>.格式化為交換分區空間
<code>mkswap </code><code>/opt/swap</code>
3>.啟動交換區空間
<code>swapon </code><code>/opt/swap</code>
4>.檢視是否生效(确定已經添加成功)
<code>free</code> <code>-m</code>
<code>-/+ buffers</code><code>/cache</code><code>: 38 452</code>
<code>swap: 3039 5 3034</code>
5>.設定開機自動加載新增加的swap分區(也可以使用uuid挂載)
<code>vi</code> <code>/etc/fstab</code>
<code>/opt/swap</code> <code>swap swap defults 0 0</code>
五、磁盤配額
1、設定磁盤配額條件:需要linux核心支援,安裝quota軟體包
2、磁盤配額特點
作用範圍:檔案系統(分區)
限制對象:使用者,組
限制類型:磁盤容量,檔案數量
限制方法:軟限制,硬限制
基本步驟:
1>.啟用檔案系統的配額支援:添加usrquota、grpquota挂載參數,修改/etc/fstab檔案,重新開機系統
<code>/dev/sdb1</code> <code>/data</code> <code>ext4 defaults,usrquota,grpquota 1 2 </code><code>#1是開機啟動被fsck掃描,0為不檢查</code>
<code>mount</code> <code>-o remount </code><code>/data</code> <code>#重新挂載</code>
2>.quotacheck指令檢測磁盤配額并建立配額檔案
<code>quotacheck</code> <code>-augcv </code><code>#執行完後/data目錄會生成aquota.group,aquota.user</code>
-u、-g:檢測使用者、組配額
-c:建立配額資料檔案
-v:顯示執行過程資訊
-a:檢測所有可用的分區
3>.設定使用者或組的限制
<code>edquota -u 使用者</code>
<code>edquota -g 組</code>
在實際應用中,一般隻對使用者最磁盤使用的大小,不用設定使用者對檔案的多少,硬限制應大于軟限制。
設定組限制,需要把使用者的基本組加入需要設定的組裡,組配額對附屬組是沒有效果的。
4>.啟動或關閉磁盤配額功能
<code>quotaon -ugv </code><code>/data</code>
<code>quotaoff -ugv </code><code>/data</code>
<code>quotaon -augv </code><code>#啟動所有可用分區磁盤配額功能</code>
<code>quotaoff -augv</code>
5>.檢視磁盤配額使用情況
<code>quota</code> <code>-u 使用者</code>
<code>quota</code> <code>-g 組</code>
<code>repquota </code><code>/data</code>
<code>repquota -a</code>
六、制作iso檔案
1、從CD光牒中制作iso檔案:
把CD光牒放入光驅中(不需要挂載CD光牒)
<code>cp</code> <code>/dev/cdrom</code> <code>mycd.iso</code>
2、使用目錄檔案制作iso檔案:
<code>mkisofs</code> <code>-r -o my.iso </code><code>/data</code>
挂載iso檔案:
指令挂載:
<code>mount</code> <code>-o loop -t iso9660 my.iso </code><code>/mnt</code>
自動挂載:
<code>mount</code> <code>-o loop my.iso </code><code>/mnt</code>
<code></code>