第二周总结
Abstract: 对第二周学习的内容进行总结,note6-note10
的笔记。
周一
Linux权限
1.内容简介
Linux权限控制
git服务器搭建与安全检查
tomcat服务器搭建与安全检查
2.几种文件类型
[d] 是目录
[-] 是文件
[l] 是链接文件(link file)
3.读写执行权限
文件类型 | 属主权限 | 属组权限 | 其他用户权限 |
---|---|---|---|
0 | 123 | 456 | 789 |
d | rwx | r-x | r-x |
目录文件 | 读写执行 | 读—执行 | 读—执行 |
对于目录的rwx
1 | * r可以显示文件夹的结构 |
权限命令:
rwx在系统中对应一个个的值,r-4,w-2,x-1
chown修改当前文件或文件夹的所属用户
1 | chown root:root /tmp/tmp1 |
1 | chown -R root:root /tmp/tmp1 |
chmod修改当前文件或文件夹的权限
语法:chmod [who] [+|-|=] [mode] 文件名
操作对象who:
- u表示“用户(user)”,即文件或目录的所有者
- g表示”同组(group)用户”,即与文件属主有相同组ID的所有用户
- o表示”其他(other)用户”
- a表示”所有(all)用户”,它是系统默认值
推荐使用数字的方式修改文件或者文件夹的权限
操作符可以是:
+添加某个权限
-取消某个权限
=赋予给定权限并取消其他所有权限
*不指定用户的情况下,=只会给文件所有者加权限,+给所有者加权限
一个网站最合理的权限是755
4.渗透测试中常用的命令
whoami 查看当前用户
tar 压缩和解压文件
netstat 查看网络状态
nslookup 查看dns信息
ps 查看运行的程序
top 实时查看运行的程序
service 使用service控制服务启动关闭
curl 获取网页,可以使用输出重定向来下载文件
wget 下载文件
1
more /etc/apt/sources.list
sources.list是各种软件源,常用的源有阿里云、清华大学、中科院
1
sudo apt-get update
Note: 推荐关机快照
周二
tomcat和git服务器搭建
1.内容简介
复习
tomcat服务器搭建
2.网络不通该如何调试
先用ficonfig查看网卡信息,若正常,ping 网卡,若不正常,查看配置文件和网络环境;若网卡默认不启用,修改配置文件,onboot=yes 重启网络服务,配置文件路径:/etc/sysconfig/network-scripts/ifcfg-eth0
1 | cat /etc/sysconfig/network-script/ifcfg-eth0 |
若网络环境是dhcp,修改上网方式为dhcp,重启网络服务
若网络环境是静态ip,修改上网方式为static,ipaddr=, netmask=, gateway=
能够ping通8.8.8.8
1 | curl www.baidu.com |
若不能打开,查看dns配置文件
1 | vi /etc/resolv.conf |
添加servername 1.1.1.1
3.搭建tomcat服务器
1 | #启动防火墙 |
防火墙=硬件+软件
1 | yum apt-get -y install tomcat |
1 | vi .../apache-tomcat-8.5.43/webapps/manager/META-INF/context.xml |
修改tomcat配置文件为
1 |
|
进入conf目录下修改tomcat-users.xml 用户名和密码
1 | vi /usr/local/tomcat/conf/tomcat-users.xml |
1 |
|
4.git服务器搭建
1 | #修改yum源 |
1 | #下载git |
win10启动powershell dir ssh
1 | ssh-keygen -t rsa |
产生两个文件.pub是公钥
1 | dir .ssh |
粘贴到git用户authorized_keys
1 | chmod 700 .ssh |
1
yum install git
再创建用户git //管理git中所有的项目
在git用户家目录,创建.ssh文件夹,修改权限为700 //这个是因为ssh服务限制
在.ssh文件夹下创建authorized_keys文件 ,修改权限为600 //这个因为ssh服务的限制,权限不正确认证会失败
在git用户家目录创建project目录,用来存放git项目
1
2#初始化一个git项目
git init --bare icq.git
git客户端
安装git // git for windows git for linux
windows 10 使用ssh创建公钥和私钥
ssh-keygen -t rsa 就会在家目录创建.ssh文件夹,里面就会有两个文件,将公钥(.pub结尾)写入到服务器authorized_keys文件中
1
git clone git@ip:/home/git/project/icq.git
Note:默认情况下 ssh git@192.168.100.167可以登录虚拟机,从而产生安全问题,在虚拟机里切换到root权限修改git的shell
1 | [root@localhost ~] usermod -s /sbin/nologin git |
这样ssh就禁止了
5.搭建博客
安装Github桌面版和Node.js
然后cmd中
1
npm install -g hexo-cli --registry=https://registry.nom.taobao.org
- 创建一个blog目录,用来存放博客
- 进入到blog中,启动cmd执行命令
1
2
3
4
5
6#初始化hexo
hexo init
#生成博客
hexo g
#搭建服务
hexo s- 然后浏览器访问播客主页
安装CentOs Mini,安装好后执行
1 | yum groupinstall "development tools" |
周三
Linux下应用的安装
1.CentOS系统中有三种安装软件的方法
- 通过源码安装
- ./configure
- make && make install
- 通过rpm安装
- rpm -ivh …
- 通过yum安装
- yum search …
- yum install …
rpm类型文件安装的时候,会先去读取文件内记载的设置参数内容,然后将该数据用来比对linux系统的环境,以找到是否有属性相依的软件尚未安装的问题。RPM使用自动化安装软件,比较类似windows下的.exe需要下载的安装包,但是它安装过程中会有很多依赖问题。
-q: 仅查询,后面接软件名称是否有安装
-qa: 列出所有,已经安装在本机linux系统上面的所有软件名称
-ql: 列出该软件所有的文件与目录所在完整文件名(list)
-qR: 列出与该软件有关的相依软件所在的文件(requried)
源码安装:先阅读README文件,找到安装方法,安装相依赖的库,最后执行
1 | make && make install |
周四
搭建apache+php+mysql和iptables+firewall
1.昨天回顾
1 | yum install |
2.搭建apache+php+mysql环境(要求使用php5.6)
安装httpd
1
2
3
4
5
6
7
8#安装httpd
yum install httpd httpd-devel httpd-manual mod_ssl -y
#启动apache
systemctl start httpd
#设置apache开机启动
systemctl enable httpd
#查看开放端口,检查有没有httpd服务,80和443端口是否开放
ss -antlp配置防火墙,可以正常访问apache
1
2
3firewall-cmd --zone=public --add-port=80/tcp --permanent
firewall-cmd --zone=public --add-port=433/tcp --permanent
firewall-cmd --reload安装php5.6
1
2
3
4
5
6
7
8
9
10rpm -Uvh https://mirror.webtatic.com/yum/el7/epel-release.rpm
rpm -Uvh https://mirror.webtatic.com/yum/el7/webtatic-release.rpm
#卸载系统中原有的php
yum remove php-common -y
#安装php5.6和php扩展
yum install -y php56w php56w-opcache php56w-xml php56w-mcrypt php56w-gd php56w-mysql php56w-intl php56w-mbstring
#进入网站根目录
cd /var/www/html/
#在网站根目录中创建index.php,写入phpinfo函数,测试网站php是否正常
echo '<?php phpinfo();?>' > index.php安装mariadb
1
2
3
4
5
6
7
8
9yum install mariadb-server -y
#启动mariadb-server
systemctl start mariadb
#设置mariadb-server开机自启
systemctl enablemariadb
#初始化mysql,注意记住mysql密码
mysql_secure_installation
#关机+快照
poweroff
3.关于网站搭建:
需要将网站的源代码使用工具复制到虚拟机中的网站根目录下(phpmyadmin除外),修改网站的所有者为apache
1 | chown -R apache:apache /var/www/html |
wordpress特性:
移动网站后,网站的样式将出错,所以wordpress在安装成功后,不能移动
虚拟机ip改变后,wordpress打开会卡页面,需要去数据库中修改ip
wp_options表中
siteurl: http://新ip
home: http://新ip
搭建没有提供安装引导的网站:
上传网站源代码到网站根目录,找到网站的配置文件,一般是config.php
再找到网站提供的sql文件,使用phpmyadmin之类工具,导入数据或直接使用mysql -uroot -p 登录数据库
1 | create database database_name |
向数据库中导入内容,有多重方式,可以自行测试
周五
Linux安全检查
1.防火墙功能:
filter功能是防火墙一个重要功能,它定义数据通过是允许或者不允许
filter控制数据类型分为两类:INPUT和OUTPUT
2.Iptables命令讲解:
-A 追加
-p 指定协议类型
1 | * tcp通过dport指定目标端口,sport指定源端口 |
-m 表示启动扩展功能
一般和-p配合,-p指定类型后,通过-m打开此类型的扩展功能
-j 指定如何进行处理DROP,REJECT,ACCEPT/丢弃,拒绝,通过
1 | iptables -A INPUT/OUTPUT -j DROP/REJECT/ACCEPT |
编辑iptables的配置文件:
通过编辑文件可以直接修改iptables规则,编辑文件,写入指定规则:
1 | -A INPUT -m state --state ESTABLISHED, RELATED -j ACCEPT |
1 | #查看现有规则 |
1 | #添加80端口通过的规则 |
drop | 默认丢弃所有包 | |
---|---|---|
–zone | block | 拒绝所有外部连接,允许内部发起连接 |
public | 指定外部连接可以进入 |
–add-port 指定添加端口 80/tcp 53/udp
–add-service 指定常见服务 http https mysql mssql ssh
–permanent 永久生效
删除80端口通过的规则
1 | firewall-cmd --zone=public --remove-port=80/tcp --permanent |
–remove-port 指定删除端口
–remove-service 指定删除服务
1 | #防火墙更新规则 |
临时加立即生效,–reload后失效,–pernament必须,–reload后才失效