我學到了以下幾點
01Linux系統介紹
02系統安裝,密碼啊破解
03Linux常用命令
04LAMP
01LINUX
windows: win03 8 12 16 19
配置不繁瑣
Linux:redhat,centos(紅帽社區版),Ubuntu server,suse
unix:金融機構,證券,銀行,根據硬體配套區賣的
比較出名的lamp平臺:Linux+apache+MySQL+php
lnmp平臺:Linux+nginx+mysql+php
Liux重要的東西(內核):
在Linux提權的時候,內核exp利用,kernel
例如:內核2.6.32 就去百度谷歌分析發現該內核版本的漏洞進行本地提權,
查詢漏洞的網站①:exploit-db.com,windows和Linux都有
exploit-db.com:該網站發布了4個型別的漏洞
dos
local:本地提權
remote:遠程代碼執行,遠程漏洞
webapps:web漏洞
查詢漏洞的網站②:github
還有③:用工具包去提權
Linux常見發行版本:
RedHat Linux 服務器
centos 服務器
SuSE Linux 服務器
Ubuntu Linux 服務器
Mandrake Linux
Caldera Linux
Turbolinux
Debian GNU/Linux
Gentoo Linux
Linpus Linux
紅旗 Liunx 服務器
Kali 基于 debian 發行的
Linux的優點:
開源:全世界的安全人員都能去測驗系統
免費
穩定:重繪不會卡,安裝不重啟
安全:病毒少
高性能
如何 學習Linux
從命令開始打好基礎
選擇一本好書
養成命令下作業的習慣
學習shell命令解釋器
不要死記硬背,多實戰
學會使用檔案
在Linux論壇獲得幫助
學習專業英文
PART 2: Linux安裝、密碼破解
系統安裝搭建:
內核版本的區分:
xx.yy.zz
2.5.7:2是主版本號,5是次版本號,7是補丁次數
主版本號:代表內核是哪個版本
次版本號:代表內核是開發版本還是穩定版本
奇數開發版本,偶數穩定版本
磁盤磁區標識:
Linux中將硬碟,磁區等設備均表示為檔案:
目前所有的設備都是使用hd(表示IDE設備),sd(表示SCSI設備)
/dev/hda5
/dev/ 硬體設備所在的目錄,硬碟光驅
hd,sd:根據硬碟介面來定的
a:硬碟的順序號以字母a,b,c表示
5代表磁區的順序號:1.2.3.4.5
硬碟磁區結構:
一塊硬碟可以分為4個主磁區,前四個數字都是主磁區
第一個邏輯磁區都是從5開始計數的
一個邏輯磁區要占一個主磁區用來擴展磁區
檔案系統型別:
Linux中默認使用的檔案系統型別:
EXT4,第3代擴展(Extended)檔案系統
SWAP,交換檔案系統
Linux支持的其他檔案系統型別
FAT16,FAT32,NTFS windows系統盤就是NTFS的
XFS,JFS
小結,請思考
01:Linux內核版本號的命名有什么特點
答:hd,sd是根據硬碟介面來定的,a就表示硬碟的順序號,數字表示磁區的順序號
第2塊SCSI硬碟的第3個邏輯磁區如何表示
答: /dev/sdb7
RHEL6默認使用的檔案系統是什么型別
答:除了SWAP以外都可以使用,例如EXT4
安裝RHEL6系統:
安裝步驟
插入RHEL6安裝光碟,引導安裝程式
設定主機引導設備為光碟驅動器
從安裝光碟啟動主機
檢測安裝光碟的完整性
配置安裝程式
選擇安裝程序顯示語言、鍵盤型別、初始化磁盤、磁區
設定網路地址、系統時區、管理員口令
定制要安裝的軟體包
復制檔案并完成安裝程序
需15~30分鐘
新建虛擬機---典型---稍后安裝操作---名稱rhel6.2---路徑---E盤-虛擬-rhel62---給20g--
虛擬設定,去掉列印機之類的節省資源,記憶體2g---DVD鏡像---rhel-server-6.2---
確定開啟---第一個(安裝升級現有作業系統)---檢測no----簡體中文---美式鍵盤---Basicxxx(普通磁盤)
---丟棄所有磁盤---主機名x.com---上海時區---管理員密碼123123---create custom layout(創建一個磁區安裝)---選擇磁區---創建---掛載點/boot(負責引導裝載)---大小200mb
空閑磁區---掛載點不選---檔案系統型別swap---大小2048---確定
空閑創建----掛載點:/---ext4---使用所有的空間---確定---下一步---格式化---寫入改變的磁盤---改設備的時候不要插u盤-
服務器:最小---現在定制---裝桌面kde(暫時)x視窗---開發(開發工具)---下一步等待安裝
重新引導---下一步啟動---前進---不用創建普通用戶---前進---完成---密碼登錄
進去后無法適應虛擬機大小,所以,先在選項串列安裝虛擬機工具,
虛擬機工具下載完成后
先設定一下字體大小粗體
桌面下右鍵運行命令---設定---外觀---編輯字體,加粗
虛擬機工具安裝: 不然無法適應大小
df -T 查看掛載的位置
mount /dev/sr0 /media 掛載到media目錄下(只讀)
ls /media 查看目錄下的檔案
cd /media 進入media目錄
tar zxvf VMwareTOOS補全鍵 -C /root 解壓該檔案到root
cd 進入系統目錄
clear 清屏
cd wmware-tools-distrib/ 進入該目錄
ls查看檔案
./wmware-install.pl (安裝程式)
問的問題回車默認
安裝完成后reboot(重啟下)
還是安裝失敗!!
打開Red Hat Enterprise Linux6
修改命令列的字體大小
重點!!登錄密碼破解
不知道服務器密碼情況下
e e 空格 s b
passwd
reboot
1、在開機自檢后,出現grub引導界面時,按E鍵進入編輯模式
2、把游標移到帶有“kernel”字樣的那一行,然后按E鍵編輯
3、在末尾輸入:空格 s 回車不要動
4. b鍵進入列印模式
5.passwd
6.輸入新的密碼:qwertyu qwertyu
7.reboot重啟
黑客為什么會改自己服務器密碼?
因為能夠增加跟多的控制權限時間
Linux 沒有C盤,D盤,E盤,他的磁區可以理解為目錄磁區
所有的目錄都在根下,所有的磁區也都在根下
bin:普通用戶管理員都能執行的命令
dev:磁盤硬碟存盤的
home:存放用戶加目錄,猶如windows下的user目錄
lost+found:相當于掛載到硬碟上的東西
mut: 用來掛載光驅用的
media:用來掛載光驅用的,光驅不能掛載,要使用必須復制到media下
proc:開機之前不存在,是開機之后生成的系統臨時檔案
sbin:是用來存放root(管理員)所執行的系統命令的,sbin里的命令是普通用戶無法執行的
重點!!!但有一種權限叫suid,作用是嫁接提權
例如: ①檔案A被賦予suid權限只有root權限才能使用,
②誰呼叫A檔案誰就是所有者,檔案A原來的所有者是root
③普通用戶xy通過命令列給A檔案發送指令創建一個用戶,這時候A檔案時按照root所有者權限去執行的,
④只有設定suid權限的才能這樣操作
哪些有suid權限呢?例如nmap能呼叫bash來執行命令,這時候權限就是root
srv:存放一些服務的
tmp:放一些臨時檔案,這個目錄下擁有X編譯權限,根目錄下并沒有x編譯權限
重點:比如要提權
例如:uname -r 查看內核
2.6.32內核
找到利用臟牛 a.c
li用webshell把a.c上傳到根目錄
在用根目錄命令拷貝到/tmp下
在/tmp進行gcc a.c進行編譯,生成a.out
運行./a.out
var:放些日志檔案,網站根目錄源代碼的
selinux:服務防御的目錄
sys:存放系統檔案
usr:重要,外部源代碼會放在usr,相當于windows的program files
如何推理linux的根目錄:
例如使用的lamp平臺
apache中間件
有資料庫,要不放在/usr/lpcal/ 要不就放在/usr/src/下
在命令列執行:select @@basedir;可以看到mysql資料庫的安裝路徑
假設:安裝路徑在/usr/local/mysql-5.5.1/
那他的apache就會在/usr/local/apache/conf/http.conf,組態檔也在這里
在有權限的情況下,讀取組態檔http.conf里的dirctoryroot /var/www/html/ 通過讀取組態檔找到根目錄的資訊
boot:存放linux裝載程式的
etc:存放組態檔的
lib:庫檔案
opt:存放外部的應用程式
root:管理員目錄
小結:
請思考:
根目錄下包括哪些常見子目錄?作用是什么?
命令列提示符中“#”表示什么意思?
答:#代表管理員,系統識別管理員是通過#來識別的,普通用戶是$,可以通過id來查詢是否是管理員,如果是0是管理員,500是普通用戶
RHEL6中默認安裝的桌面環境是什么?
答:kde界面,gnome(系統默認)
如何從字符界面切換到圖形界面?
答:shift+ctrl+f1
PART 3:Linux常用命令
Linux命令的分類
Linux命令
用于實作某一類功能的指令或程式
命令的執行依賴于解釋器程式(例如:/bin/bash)
Linux命令的分類
內部命令:屬于Shell解釋器的一部分
外部命令:獨立于Shell解釋器之外的程式檔案
,安裝應用程式產生的命令,大部分是實作功能的
Linux命令列格式:
Linux命令的通用命令格式
命令字 [選項] [引數]
選項及引數含義
選項:用于調節命令的具體功能
以 “-”引導短格式選項(單個字符),例如“-l”
以“--”引導長格式選項(多個字符),例如“--color”
多個短格式選項可以寫在一起,只用一個“-”引導,例如“-al”
引數:命令操作的物件,如檔案、目錄名等
Linux系統命令重要:
uname 查看系統內核資訊 -r查看內核版本號 -a 顯示詳細資訊 提權重要
hostname 查看或臨時修改主機名稱 修改:hostname 123.com 內網分析會用到
ifconfig 查看系統ip網卡資訊, eth0本地連接資訊, lo回環接資訊,檢查tcpip是否正常作業
dhclient eth0 重新獲取ip資訊
cat /proc/cpuinfo 查看系統cpu資訊 面試會考
cat /proc/meminfo 查看系統記憶體資訊 面試會考
halt 關機
reboot 重啟
pwd 查看作業目錄 查看目前所在路徑 上傳檔案的時候會用到
cd 切換目錄
cd ..回傳上一級
cd - 后退
du 統計目錄及檔案空間占用情況 -sh統計目錄大小 例如:du -sh /etc 意義檔案太大會被管理員發現,
useradd:創建用戶 例如:useradd xy
ifconfig:
HWaddr:mac地址
inrt addr:ip地址
Bcast:廣播地址
Mask:子網掩碼
ls命令
用途:串列(List)顯示目錄內容
格式:ls [選項]... [目錄或檔案名]
常用命令選項
-l :以長格式顯示
-a:顯示所有子目錄和檔案的資訊,包括隱藏檔案
-A:類似于“-a”,但不顯示“.”和“..”目錄的資訊
-d:顯示目錄本身的屬性
-h:以更易讀的位元組單位(K、M等)顯示資訊
-R:遞回顯示內容
--color:以顏色區分不同型別檔案,藍色目錄,白色檔案
權限設定命令
Chmod
U 是所有者用戶 g 是組 o其他人 a所有人
R讀 w寫 x可執行
用法
Chmod u+w 給所有者用戶添加寫入權限
Chmod g-r 給所在分組去掉讀取權限
權限用數字代替
R=4 w=2 x=1 權限值等于每個權限數字相加
Chmod 777 給所有權限設定為可讀可寫可執行
Chown 設定所有者和所在分組用戶
Chown Apache:Apache test 登錄吧test目錄所有者和所組設定為Apache用戶
-rw-r--r--. 1 root root 7.2K 2月 11 2019 install.log.syslog
權限位置 所有者,分組,大小,最好一次修改時間, 檔案
重要,檔案權限設定:弄清楚三種用戶
用戶---u:所有者 g:所在分組 o:其他人
權限---r:可讀 w:可寫 x:可執行 也可以用數字里進行代替,相疊加,
chomd:權限設定 例如:chomd u+x a 檔案a,用戶所有者,可執行權限
chomd p+w a
chomd a+x 123.txt 把123.txt檔案,讓所有用戶部分都有可執行權限
chomd a-x 123.txt 把123.txt檔案,讓所有用戶部分都去掉可執行權限
還可以chomd 755 123.txt 用相加的方式把權限賦予了
設權限也可以通過所有者來是檔案變權限例如剛開始是,root:root
變化后 chown xy:xy
touch 創建檔案或跟新檔案時間標記 如果創建的檔案存在了就會更新,
重點: 黑客子對檔案動完手腳后可以用toch * 把所有檔案時間都統一,
mkdir 創建目錄命令 -p遞回創建目錄
例如:mkdir x 創建x目錄, mkdir -p y/x 在y目錄下創建x目錄, ls -r y
cp 復制檔案或目錄 -r遞回復制 -f強制覆寫 -p保持源檔案屬性不變
例如:cp install.txt / 拷貝install.txt到根目錄下, ls / 查看根目錄
例如;cp -rf x / 強制復制x目錄到根下
-i覆寫檔案目錄提醒
rm 洗掉檔案或目錄 -r遞回洗掉 -f 強制洗掉不提醒 -i 洗掉時用戶提醒
例如:rm -rf /install.txt 洗掉檔案, rm -rf /x 洗掉根目錄下的x檔案夾
例如:rm -rf / --no-preserve-root
mv 移動檔案或目錄
wc 統計檔案中出現的單詞數量位元組數量和行數
例如:wc install.log
806 1625 34469 行,單詞,字符
Cat 查看檔案內容命令 more 分屏顯示
例如:cat install.log 查看文本內容 more install.log 分屏顯示
find命令
主要是查看你24小時之類修改過的檔案之類的
用途:用于查找檔案或目錄
格式:find [查找范圍] [查找條件]
常用查找條件
-name:按檔案名稱查找
-size:按檔案大小查找
-user:按檔案屬主查找
-type:按檔案型別查找
例如:find / -name "re*.conf" 查找根下所有名稱,大概是re開頭,com結尾的
ficd / -user xy 查找根目錄下xy權限的檔案
root@localhost ~]# find /etc -name "resol*.conf"
/etc/resolv.conf
/etc/sysconfig/networking/profiles/default/resolv.conf
Vi編輯器
vi是一個較大的UNIX命令,在啟動的時候也有它自己的選項和引數
基本語法:
vi [-options] [+[n]] [file]
常用選項有:-r, -R
-r用于恢復系統突然崩潰時正在編輯的檔案
-R用于以只讀方式打開檔案
+n用來指明進入vi后直接位于檔案的第n行,如果不指定n,則位于最后一行
vi有三種模式:
①命令模式:可以輸入一些命令對文本進行操控
G 進入文本尾部
gg 回傳文首
ctrl+g代表顯示資訊行號之類的
dd 洗掉游標所在行
D 洗掉游標所在位置到行尾
yy 復制游標所在行
p 粘貼
r替換
R替換整行
5dd 洗掉5行
5yy 復制游標所在位置往下5行
②插入模式:a i o 當做記事本用 編輯文本
③低行模式
:按住esc進入到命令模式下,在shift+:才能進入低行模式
set nu低行模式下加載編號
%s/Installing/cracer/ 百分號是搜索,s是全文
/搜索 /fanghan 回車
20 就會進入到20行
10,20s/fanghan/hacker/
按u 回傳上一層操作
w 保存 退出q 保存退出wq
!sh回車: 在文本執行命令
執行完后exit 回傳到編輯的模式
壓縮命令 gzip bzip2
只針對單個檔案壓碩訓
-9 顯示高壓縮比
-d 釋放壓縮檔案
gzip 檔案名 壓縮檔案 格式為后綴有.gz
bzip2 檔案名 壓縮成的檔案名 格式為 檔案名.bz2 它相對與gzip 壓縮率更高
tar cvf 壓縮名.tar 壓縮檔案名1 壓縮檔案名2 //壓縮檔案名1 壓縮檔案名2 打包起名為壓縮名
tar tvf 打包名 //查看壓縮包內有哪些東西
tar rvf 打包名 壓縮檔案名3 // 在打包名里,在追加壓縮檔案名3
tar xvf 打包名 //解壓縮
gzip 打包名 二次打包名.tar.gz //把壓縮包在次壓縮,容量變小
gzip -d 二次打包名 //解壓
tar zxvf 二次打包名字 //一步解壓
bzip2 打包名 二次打包名字tar.bz2 //把壓縮包再次壓縮,容量變小
tar jxvf 二次打包名字 //一步解壓
tar -xvzf test.tar.gz -C /usr/src 解壓釋放歸檔到 /usr/src 里面
tar -xvjf test.tar.bz2 -C /usr/src 解壓釋放歸檔到 /usr/src 里面
添加用戶賬號
useradd命令
格式:useradd [選項]... 用戶名
常用命令選項
-u:指定 UID 標記號
-d:指定宿主目錄,預設為 /home/用戶名
-e:指定帳號失效時間
-g:指定用戶的基本組名(或UID號)
-G:指定用戶的附加組名(或GID號)
-M:不為用戶建立并初始化宿主目錄
-s:指定用戶的登錄Shell
[root@localhost ~]# useradd -d /ftphome/mike -g mike -G ftpuser -s /sbin/nologin mike
cat /etc/passwd //查看所有賬號在哪里以及權限
cat /etc/shadow //查看所有密碼存放地方,密碼經過加密用john或者hashcat工具破解
useradd 用戶名 //創建用戶
passwd 用戶名 //設用戶名密碼 123123
userdel -r 用戶名 //洗掉用戶
su - 用戶名 //進入該用戶
exit // 退出用戶
ls /home //查看檔案夾下的用戶
查看行程
Ps -aux 查看系統行程
Top 動態查看系統行程
Kill 1234 殺死行程1234
netstat -tnlp //查看tcp埠以及id
netstat -utnlp //查看udp埠
netstat -ano
netstat -ao
kill 行程編號 //殺死對應行程
kill -9 行程編號//強制殺死
軟體安裝
安裝或升級RPM軟體
格式:rpm [選項] RPM包檔案...
用法:不同選項適用于不同情況
-i:安裝一個新的rpm軟體包
-U:升級某個rpm軟體,若原本未裝,則進行安裝
-F:更新某個rpm軟體,若原本未裝,則放棄安裝
卸載指定的RPM軟體
格式:rpm -e 軟體名
配置yum源
1、掛著系統安裝盤
2、配置yum組態檔Vi /etc/yum.repos.d/rhel*
3、匯入yum密鑰
4、yum clean all 清空yum快取
5、yum -y install httpd 使用yum安裝httpd軟體包
6、yum –y remove httpd 使用yum移除httpd軟包
配置方法:yum
01.cat /etc/yum.repos.d/rhel-source.repo //可以從baseurl=ftp的源,但是我們要使用光碟源
02.df -T //查看掛載 sr0未掛載
03.mount /dev/sr0 media // 加載一下
04.ls /media 查看掛載的是哪個檔案
05.umount /dev/sr0 //卸載下sr0
06.電腦右下角,斷開一下設定---找到光驅,確定,已連接,啟動時鏈接---確定
07.電腦彈出紅帽安裝鏡像
08.mount /dev/sr0 /media //重新掛載
09.df -T //掛載一下 一掛載sr0
10.ls /media //已存在Server
11.vi /etc/yum.repos.d/rhel-source.repo //編輯一下
12.刪掉lease往后的那一段,enabled=0(不啟用)修改成1啟用
13.baseurl=ftp 修改為baseurl=file///media/Server
14.復制gpgkey=file://往后的那一段秘鑰
15.rpm --import 粘貼剛才復制的秘鑰
16.yum -y install man //就可以安裝了
17.yum clean all // 不能安裝就清理下快取
Deb軟體包安裝
Dpkg –i xxx.deb 安裝軟體包
Dpkg –r xxx.deb 移除軟體包
源代碼安裝 (后期再講)
網路配置
虛擬機右下角編輯鏈接---點擊選項---編輯---ipv4---
手動添加ip192.168.8.114.
子網24.
網關192.168.8.2
DNS服務器:8.8.8.8
Ifconfig eth0 192.168.1.20/24 臨時修改eth0 網卡ip
vi /etc/sysconfig/network-scripts/ifcfg-eth0 //組態檔,記得保存
service network restart 重啟網關
Route –n 查看系統路由資訊
Netstat 查看網路連接情況
netstat命令
查看系統的網路連接狀態、路由表、介面統計等資訊
格式:netstat [選項]
常用選項:
-a:顯示所有活動連接
-n:以數字形式顯示
-p:顯示行程資訊
-t:查看TCP協議相關資訊
-u:查看UDP協議相關資訊
-r:顯示路由表資訊
域名決議組態檔
/etc/resolv.conf 檔案
用途:保存本機需要使用的DNS服務器的IP地址
LAMP平臺搭建配置
LAMP 環境搭建及配置 用yum環境去搭建
1、配置好yum環境
2、掛著光驅
3、yum安裝lamp環境
Yum –y install httpd php php-mysql mysql mysql-server
4、啟動apache和mysql服務
Service httpd start
Service mysqld start
5、配置mysql root賬號密碼
Mysqladmin –uroot password 123456
6、關閉防火墻和seLinux
Iptables –F
Setenforce 0
Chown –R apache:apache /var/www/html 修改網站根目錄配置權限
7、訪問測驗
lanm平臺:Linux php mysql apache
安裝:
①yum -y install httpd php-mysql mysql mysql-server
②service httpd start //安裝完后啟動網站
③service mysqld start // 啟動資料庫
④netstat -tnlp //查看服務埠 80啟動 3306
⑤mysqladmin -u root password 123123 mysql設定密碼
⑥mysql -uroot -p //登錄資料庫
⑦show databases; //查看有多少個庫
⑨exit //退出
⑩ vi /etc/httpd/conf/httpd.conf //編輯檔案順便查找網站根目錄,偵聽的埠
切記:apache的組態檔路徑:/etc/httpd/conf/httpd.conf
Listen 80
Directory //網站的根目錄
Directoryindx //index.html 網站首頁
ServerName www.baidu.com:80 域名
/Listen //搜索下試試
/Directory //搜索下試試
#注釋,沒起作用
找到網站根目錄就---檔案管理---根---var---www---html(原始碼拖動進來就可以)
寫個測驗頁面例如: echo "this is 80 site" > /var/www/html/index.html
打開瀏覽器輸入127.0.0.1 測驗頁面
建第二個站:
!v呼叫剛才的組態檔
G調到行尾
組態檔底部#<VirtualHost *:80> 虛擬主機配置,如果只通過埠搭建網站,只需要配置這里,
#ServerAdmin(設定虛擬主機郵箱)
#DocumentRoot (根目錄網站放原始碼的地方)
#ServerName (域名)
#ErrorLog logs(錯誤日志)
#CustomLog logs(自定義日志)
現在去掉兩個日志,域名,郵箱剩余,去掉#號,啟用功能,埠改為81,根目錄設定,在加一個Listen 81埠,yy復制p粘貼,保存退出
<VirtualHost *:81>
DocumentRoot /var/www/81
</VirtualHost>
mkdir /var/www/81 //創建一個81目錄
echo "this is 81 site" > /var/www/81/index.html
Iptables –F
//關閉防火墻
setenforce 0
//關閉seLinux
service httpd restart //啟用網站
chown -R apache:apache /var/www/html //寫入權限
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/443.html
標籤:其他
上一篇:02windows基礎操作
下一篇:05HTML