03.Linux基础操做

我学到了如下几点php

01Linux系统介绍
02系统安装,密码啊破解
03Linux经常使用命令
04LAMPhtml

 

 

01LINUXmysql


windows: win03 8 12 16 19
配置不繁琐linux

Linux:redhat,centos(红帽社区版),Ubuntu server,susenginx

unix:金融机构,证券,银行,根据硬件配套区卖的git

比较出名的lamp平台:Linux+apache+MySQL+php
lnmp平台:Linux+nginx+mysql+phpgithub

Liux重要的东西(内核):
在Linux提权的时候,内核exp利用,kernel
例如:内核2.6.32 就去百度谷歌分析发现该内核版本的漏洞进行本地提权。
查询漏洞的网站①:exploit-db.com,windows和Linux都有
exploit-db.com:该网站发布了4个类型的漏洞
dos
local:本地提权
remote:远程代码执行,远程漏洞
webapps:web漏洞

查询漏洞的网站②:github
还有③:用工具包去提权web

Linux常见发行版本:
RedHat Linux 服务器
centos 服务器
SuSE Linux 服务器
Ubuntu Linux 服务器
Mandrake Linux
Caldera Linux
Turbolinux
Debian GNU/Linux
Gentoo Linux
Linpus Linux
红旗 Liunx 服务器 面试

Kali 基于 debian 发行的sql

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

一、在开机自检后,出现grub引导界面时,按E键进入编辑模式
二、把光标移到带有“kernel”字样的那一行,而后按E键编辑
三、在末尾输入:空格 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源
一、挂着系统安装盘
二、配置yum配置文件Vi /etc/yum.repos.d/rhel*
三、导入yum密钥
四、yum clean all 清空yum缓存
五、yum -y install httpd 使用yum安装httpd软件包
六、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环境去搭建
一、配置好yum环境
二、挂着光驱
三、yum安装lamp环境 Yum –y install httpd php php-mysql mysql mysql-server
四、启动apache和mysql服务 Service httpd start Service mysqld start
五、配置mysql root帐号密码 Mysqladmin –uroot password 123456
六、关闭防火墙和seLinux Iptables –F Setenforce 0 Chown –R apache:apache /var/www/html 修改网站根目录配置权限
七、访问测试

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 //写入权限

相关文章
相关标签/搜索