Linux高级

Linux高级学习目标

  1. 能够使用Linux中的crontab命令

  2. 能够使用Linux中的网络管理命令

  3. 能够使用Linux中SSH免密登录命令

  4. 能够使用Linux中基本用户管理命令

  5. 能够使用Linux中防火墙配置命令

  6. 能够理解web的通讯原理

  7. 能够在windows中安装,配置和部署Nginx服务器

第1章 crontab

命令功能

通过crontab命令,我们可以在固定的间隔时间执行指定的系统指令。时间间隔的单位可以是分钟、小时、日、月、周及以上的任意组合。这个命令非常适合做周期性的工作,如:数据备份,程序自动运行。

  1. 安装crontab

    1. 语法:yum install package 安装指定的软件包解释:

      1. yum(全称为 Yellow dog Updater,Modified):是一个软件包管理器。能够从指定的服务器自动下载安装包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。yum提供了查找、安装、删除某一个、一组甚至全部软件包的命令,而且命令简洁而又好记。

      2. package:表示需要指定的安装包或服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-4U3tqS8L-1582271849867)(media/1542250548366.png)]

调度配置(定时任务操作)

1.3.1 配置说明

语法:crontab [参数]

参数解释:

  1. -u user 给指定用户设置定时任务,如果不写的话,默认是给当前用户设置定时任务

  2. -l 显示当前用户所有的定时任务

  3. -e 编辑当前用户的定时任务,一行一个定时任务,使用这个命令进入编辑器进行编辑定时任务

  4. -r 删除当前用户的定时任务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VWqCGX3w-1582271849867)(media/6c01afe77e999d19c4c07132ab655a07.png)]

13.2 定时器任务配置编辑示例

当输入crontab -e后,会启动vi编辑器,来编写新的定时任务,一行写一个定时任务。格式如下:

*调度任务编辑语法,如下: * * * * * 命令(号之间有空格,命令,就是要进行的定时任务) 格式说明如下:其中5个*分别代表如下意义,就是按照指定的时间执行命令 , {minute} {hour} {day} {month} {week} 命令 没有秒数

minute: 表示分钟,可以是从0到59之间的任何整数。

hour:表示小时,可以是从0到23之间的任何整数。

day:表示日期,可以是从1到31之间的任何整数。

month:表示月份,可以是从1到12之间的任何整数。

week:表示星期几,可以是从0到7之间的任何整数,这里的0或7代表星期日。

command:要执行的命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KZQef3e5-1582271849868)(media/9bf21d29583aa0c3f73b4b3b6dfe7ea9.png)]

分 时 日 月 周 需要执行的命令

在以上各个字段中,还可以使用以下特殊字符:

星号(*):代表所有可能的值例如month字段如果是星号,则表示在满足其它字段的制约条件后每月都执行该命令操作

逗号(,):可以用逗号隔开的值指定一个列表范围,例如,“1,2,5,7,8,9”

中杠(-):可以用整数之间的中杠表示一个整数范围,例如“2-6”表示“2,3,4,5,6”

正斜线(/):可以用正斜线指定时间的间隔频率,例如小时“0-23/2”或者“*/2”表示每两小时执行一次。同时正斜线可以和星号一起使用,例如*/10,如果用在minute字段,表示每十分钟执行一次。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-goADEjtF-1582271849868)(media/f08d347e40a19876cc8ff4064bbfd08a.png)]

当保存并退出vi编辑器后,定时任务立刻生效。

等一分钟,显示一下当前用户下的定时任务,和执行的输出内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IZdSZk5N-1582271849868)(media/ea72699353c6d7833e5ee489c7a2b19a.png)]

其它示例:

命令1:30 21 * * * date >> /mydate.txt
每天的21点30分,将时间输出到/mydate.txt文件中

命令2:10 10 1,10,20,30 * * date >> /mydate.txt
每月1,10,20,30号,的10点10分,将时间输出到/mydate.txt文件中。

命令3: */2 * * * * date >> /mydate.txt
每隔2分钟执行将时间输出到/mydate.txt文件中

命令4:2 * * * * date >> /mydate.txt
每天每小时的第2分钟都执行将时间输出到mydate.txt

每隔2小时执行将时间输出到mydate.txt
* */2 * * * date >> /mydate.txt

总结

如果每个*直接写成数字,就是按照固定的时间循环进行执行定时器

如果每个*写成*/数字,就是按照每隔对应时间循环执行定时器

应用场景

定时清理缓存数据,以后大家会用很多服务器,每个服务器都有缓存数据,可以使用定时器来清理垃圾文件

定时备份文件

定时器服务的管理

crontab如果安装到linux系统上,默认开启的服务,会占用一定的资源消耗。

  1. 语法:service crond start 启动定时服务(默认已开启)

  2. 语法:service crond stop 停止定时服务

  3. 语法:service crond restart 重启定时服务(重启后识别最新配置定时任务)

  4. 语法:service crond reload 重新加载定时任务配置文件(用户体验更好,不用重启服务就可以识别最新的配置定时任务)

在这里插入图片描述

执行停止服务的时候,提示systemctl。。。。等

centos6操作服务都是以service命令开头,但是在centos7键以使用systemctl代替

Centos6和以前系统命令Centos7以后命令(系统建议使用)
Service crond stopSystemctl stop crond.service

第2章 网络管理

主机名配置

语法1 :hostname

获取主机名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-RIs4vaRW-1582271849869)(media/1542251358633.png)]

语法2:hostname 新主机名

修改主机名,但重启后无效,这是内存中临时的修改

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OfzTMpHx-1582271849869)(media/1542251399872.png)]

语法3:hostnamectl set-hostname 新主机名称

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xEA1216C-1582271849869)(media/1542251564874.png)]

reboot重启,永久生效

ping内网网卡

ping localhost

激活外网网卡

1、进入CentOS,查看网络配置

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6dK5pPbx-1582271849870)(media/d70e1ec0e8034a102e048d2b165b06d3.png)]

2、根据上面会发现2张网卡

enp0s3,上外网的网卡,一般是没有激活,需要手动激活之后才能上外网。如果在安装linux系统是配置了网卡开机启动,那么就已经激活了网卡,如果没有这个配置就要手动激活

enp0s8,局域网网卡(一般配置好就可以,我们无需配置)

3、激活网卡,进入并编辑外网网卡ifcfg-enp0s3文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IiOYlX4F-1582271849870)(media/1542252160209.png)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ONEdnVws-1582271849870)(media/0cfb973775c31e69e50d16ef0b2cae06.png)]

配置动态IP。将ONBOOT=no改为ONBOOT=yes激活网卡,激活后才可以上外网(如果在安装时配置网卡启动,那么这里就是为yes,否则为no)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDYyor2z-1582271849870)(media/2ba6e72cb417c9c8670316e85946dbe8.png)]

4、重启网络服务,查看动态IP配置结果

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-njXO7XXQ-1582271849870)(media/07f7afac87a4178b480be522ec8424ad.png)]

这时,再通过命令:ip addr查看虚拟机的IP地址。

5、重启网络服务后,使用ping 外网无服务地址,如果如下图说明已能连接外网

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZvKvkCOD-1582271849871)(media/0101aa8a7f3ae0220f8d3cef3c178e62.png)]

域名映射

需求:

ip是由4段0~255数字组成的,互联网计算机通信也是通过ip。但是ip很难记住,怎么办呢?

答:使用域名代替ip

浏览器访问域名www.itcast.cn的寻址原理

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-WErheDkU-1582271849871)(media/521802e011a337f99b706d92a6f22556.png)]

案例 使用ping
局域网主机名默认是ping不通的,如何ping通呢?,注意主机名也是域名的一种。

步骤1:编辑etc/hosts文件

vim etc/hosts

步骤2:添加主机名与ip映射

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-u1yVtGMD-1582271849871)(media/1542253075712.png)]

步骤3:在本机ping 局域网主机名,效果如下

ping zzw,效果如下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-UpjL1lFu-1582271849871)(media/1542253231259.png)]

网络服务管理

后台服务管理命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hTZx8psy-1582271849871)(media/1542253481669.png)]

使用新命令方式

systemctl status network.service

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AP24AyHo-1582271849872)(media/1542253555404.png)]

查看所有后台服务状态

service ‐‐status‐all (centos6方式)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xranoVfN-1582271849872)(media/1542253710110.png)]

systemctl status *.service (centos7方式)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xO7OeHEh-1582271849872)(media/1542253899938.png)]

设置后台服务的自启动配置命令

自启动,就是开启时启动

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0Ng1fc8w-1582271849873)(media/5a2979be56a1597a84c807d0a6594f9b.png)]

使用chkconfig

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vw1XnzA1-1582271849873)(media/a44e33410316d50bf2fbe7e334f1f1ff.png)]

数字说明

  1. 等级0表示:表示关机
  2. 等级1表示:单用户模式
  3. 等级2表示:无网络连接的多用户命令行模式
  4. 等级3表示:有网络连接的多用户命令行模式
  5. 等级4表示:不可用
  6. 等级5表示:带图形界面的多用户模式
  7. 等级6表示:重新启动

静态ip设置

BOOTPROTO网络配置参数如下:

  1. BOOTPROTO=static 静态IP
  2. BOOTPROTO=dhcp 动态IP
  3. BOOTPROTO=none 无(不指定)

通常情况下是dhcp或者static,通过指定方式的办法来获得地址,如果没有指定的话可能会出现问题。 可以通过以下命令进行指定:

a. 修改/etc/sysconfig/network配置文件:
   [root@localhost ~]# vi /etc/sysconfig/network
   # Created by anaconda
   GATEWAY=192.168.12.2


b. 修改/etc/sysconfig/network-scripts/ifcfg-ens33配置文件:

   [root@localhost ~]# vi /etc/sysconfig/network-scripts/ifcfg-ens33
   TYPE=Ethernet
   PROXY_METHOD=none
   BROWSER_ONLY=no

   BOOTPROTO=static
   IPADDR=192.168.12.131
   GATEWAY=192.168.12.2
   NETMASK=255.255.255.0

   DEFROUTE=yes
   IPV4_FAILURE_FATAL=no
   IPV6INIT=yes
   IPV6_AUTOCONF=yes
   IPV6_DEFROUTE=yes
   IPV6_FAILURE_FATAL=no
   IPV6_ADDR_GEN_MODE=stable-privacy
   NAME=ens33
   UUID=193e7f5e-e25b-40ef-b292-0fe5c8970af5
   DEVICE=ens33
   ONBOOT=yes
   ZONE=public

c. 重启网关
   [root@localhost ~]# service network restart
   Restarting network (via systemctl):     [  确定  ]

系统中网络进程端口的监听

需求:
查看当前机器上运行的进程,IP,端口等信息。

语法:netstat [参数]

显示网络状态参数解释:

-a 显示所有连线中的Socket

命令:netstat ‐a

扩展

-a (all)显示所有选项,默认不显示LISTEN相关

-t (tcp)仅显示tcp相关选项

-u (udp)仅显示udp相关选项

-n 拒绝显示别名,能显示数字的全部转化成数字。

-l 仅列出有在 Listen (监听) 的服務状态

-p 显示建立相关链接的程序名

-r 显示路由信息,路由表

-e 显示扩展信息,例如pid等

-s 按各个协议进行统计

-c 每隔一个固定时间,执行该netstat命令。

提示:LISTEN和LISTENING的状态只有用-a或者-l才能看到

常用组合

netstat -nulp 查看正在监听的udp协议连接和不使用别名的端

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AqzVtzrl-1582271849874)(media/319392af64f53a61633ae4e99367a60d.png)]

netstat -ntlp 查看正在监听的tcp协议连接和不使用别名的端口

说明

I-NODE,内存索引编号
PID,进程ID
PPID,父进程ID

Recv-Q Send-Q分别表示网络接收队列,发送队列。Q是Queue的缩写。
这两个值通常应该为0,如果不为0可能是有问题的。packets(数据包)在两个队列里都不应该有堆积状态。可接受短暂的非0情况。如文中的示例,短暂的Send-Q队列发送pakets非0是正常状态。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LDSlepKi-1582271849874)(media/5e159a05f53ab25577b2e98edaa51f25.png)]

第3章 SSH免密登录

SSH工作机制

需求:
在企业中,多台Linux机器是可以相互之间进行登录和退出的。用Linux自带的SSH客户端命令,可以用输入用户名和密码的方式登录到另一台Linux机器中。但每次登录另一台Linux机器都要输入用户名和密码,难免让用户觉得麻烦。那么能不能一个用户在不输入用户名和密码的情况下,也能登录另一台Linux机器呢,答案是肯定的,这就是SSH免密登录。

SSH是Secure Shell(安全外壳协议)的缩写。

SSH是专为远程登录会话和其他网络服务提供安全性的协议。

SSH的具体实现是由客户端和服务端的软件组成的:

  1. 服务端是一个守护进程,他在后台运行并响应来自客户端的连接请求。

  2. 客户端可以使用Linux自带的SSH工具,进行远程连接服务端。

SSH采用二种验证机制:

  1. 基于口令的安全验证

只要你知道另一台机器上用户的帐号和口令,就可以登录到远程主机。实战:JavaEE77-01这台机器有密登录JavaEE77-02这台机器

步骤如下:

  1. 机器名:itheima87

IP是:192.168.56.3
用户名:root密码:root

  1. 机器名:itheima86

IP是:192.168.56.4
用户名:root密码:root
3. 在itheima87这台机器中中输入:ssh 192.168.56.4
4. 输入root用户在192.168.56.4这台机器上的密码:123456
5. exit,退出192.168.56.4这台机器,回到itheima87这台机器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-i5wEiWJq-1582271849874)(media/38576eb00a9e3b3144fc03bb20bd63aa.png)]

  1. 基于密钥的安全验证

你无需知道另一台机器上用户的帐号和口令,也可以登录到远程主机。我们说的SSH免密登录,就说的是这种方式。

了解一下工作原理:

免密登录的原理流程

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OmsYmlE9-1582271849875)(media/f0dbe558f7f1908facba3f7a5f3f64be.png)]

免密登录方式配置

实战:itheima87这台机器免密登录itheima86这台机器步骤如下:

1、机器名:itheima87

  • IP是:192.168.56.3
  • 用户名:root密码:root

2、机器名:itheima86

  • IP是:192.168.56.4
  • 用户名:root密码:root

3、在itheima87这台机器上输入:ssh-keygen,如有提示,按回车,生成itheima87这台机器的公钥和私钥。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-250HvNGt-1582271849875)(media/50a0718007588c3313ef8d19fd9b317d.png)]

密钥生成在/root/.ssh/目录下

id_rsa,私钥

id_rsa.pub,公钥

4、在itheima87这台机器上输入:ssh-copy-id 192.168.56.4,如有提示,按回车,将itheima87的公钥发送给itheima86进行保存

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ce81cMgd-1582271849875)(media/794bb0f510120cfa8dad5add77b2d1fc.png)]

这时免密配置成功。

查看itheima86服务器保存的公钥数据~/.ssh/authorized_keys文件中

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uljOtpWG-1582271849875)(media/619ee62693de12b35f1995210609a711.png)]

查看内容

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xdRo1XI9-1582271849875)(media/6a0958e15fffefdd26c9d705ed69192a.png)]

5、在itheima87上面免密登录itheima86, 这台机器上输入:ssh 192.168.56.4,再也不用密码了。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-43Soy7Um-1582271849876)(media/3b5db97a16ac14ded31edc9b2a3d1f5b.png)]

第4章 Nginx

Nginx的概念

Nginx是一种服务器软件,其最主要,最基本的功能是可以与服务器硬件结合,让程序员可以将程序发布在Nginx

服务器上,让成千上万的用户可以浏览。除此之外,Nginx还是一种高性能的HTTP和反向代理服务器,同时也是一个代理邮件服务器。也就是说,我们在

Nginx上可以:

  1. 可以发布静态网站

  2. 可以实现负载均衡,集群服务器,项目1或2

  3. 实现反向代理,web阶段项目实战第4天学习

  4. 可以作为邮件服务器实现收发邮件等功能

所谓的负载均衡是指,当同时有多个用户访问我们的服务器的时候,为了减少服务器的压力,我们需要将用户引入服务器集群中的较轻压力的服务器,分担较重压力服务器的负担。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-AXEkTMRQ-1582271849876)(media/98de0840bbc91e030eb14d959b9dd7c9.jpg)]

Windows安装Nginx

1、进入http://nginx.org/网站,下载nginx-1.13.8.zip文件

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-EKyTnYOk-1582271849876)(media/76176bd21ab501df94ffc7cd0a35d39c.jpg)]

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-28pzoAY3-1582271849876)(media/a222094c3a3474672ff99f869905fc30.jpg)]

2、进入CMD模式,并切换到Nginx安装文件所在的目录

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1C1cStEB-1582271849876)(media/41d989044c60240a8444d97c0e9fe3b4.png)]

3、用start nginx命令,启动Nginx服务器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zq9KX1rd-1582271849877)(media/8155048a69a9e0083aa9a96e00f9e98c.jpg)]

4、打开Windows中的浏览器,访问Nginx服务器首页

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Dqy03W5l-1582271849877)(media/b10d4d583a730147488e538184bcbe8a.jpg)]

5、修改部署资源位置

修改文件/conf/nginx.conf

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-zlzTMnAG-1582271849877)(media/d9b11e5ed5b4f385d867fe6ef6268816.png)]

6、用nginx -s reload命令,重新启动Nginx服务器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KCiGeCEv-1582271849877)(media/8550e047bb764b267c7df23fa8fa4054.png)]

7、可以使用浏览器访问服务器

8、用nginx -s stop命令,停止Nginx服务器

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7PzuHwqx-1582271849877)(media/86ca893c179738ff3b0c6dc405bfecfd.jpg)]

Linux安装Nginx

1、下载Nginx

进入http://nginx.org/网站,下载nginx-1.13.9.tar.gz文件。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-nSK5dmMH-1582271849878)(media/2a5f8300bb599c3fc9d79bcb1b9ccdd2.jpg)]

2、 上传Nginx到Linux的root目录下

用Windows版本的SSH客户端工具,将刚下载好的nginx-1.13.9.tar.gz文件上传到root目录下

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-gIKBIaV2-1582271849878)(media/ea62531ed4f081b36ca6bfe225444338.png)]

3、安装Gcc

Nginx是C语言开发,要在Linux上运行,安装Nginx需要先将官网下载的源码进行编译,编译依赖gcc环境;所以需要安装gcc。

安装gcc,期间有提示,一律选
yum install gcc-c++

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oS0EwfLD-1582271849878)(media/6ffeea8ac8f3b078df28fc31edfb8834.png)]

4、安装Nginx

安装Nginx依赖环境,‐y表示所有提示默认选择y 
yum -y install pcre pcre-devel
yum -y install zlib zlib-devel
yum -y install openssl openssl-devel

解压,并进入解压文件夹
tar ‐xvf nginx‐1.13.9.tar.gz ‐C/usr/local 

创建安装目录,存放安装文件位置
mkdir /usr/local/nginx
cd /usr/local/nginx‐1.13.9

进入nginx‐1.13.9进行编译并安装
./configure --prefix=/usr/local/nginx 
make && make install

在这里插入图片描述
5、启动Nginx

进入nginx的sbin目录
cd /usr/local/nginx/sbin

在sbin目录下启动
./nginx

在sbin目录下停止
./nginx ‐s stop

在sbin目录下重写加载
./nginx ‐s reload

开放linux的对外访问的端口80,在默认情况下,Linux不会开发端口号
  /sbin/iptables -I INPUT -p tcp --dport 80 -j ACCEPT
  开放的端口永久保存到防火墙
  firewall-cmd --zone=public --add-port=80/tcp --permanent

查看是否有nginx的线程是否存在
ps ‐ef | grep nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HNFkMPde-1582271849879)(media/a8b3949681ee7d856277bd100773aa9d.png)]

6、用浏览器访问Nginx

打开Windows平台中的浏览器,输入:http://192.168.0.106:80回车,即可看到Nginx服务器软件的启动界面。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-CJAR4D9H-1582271849879)(media/1ca00e1184ac2a46d6430bcfc7cd76ca.jpg)]

7、部署

修改配置文件

打开/usr/local/nginx/conf/nginx‐conf文件,修改server段的内容:
server {
listen	80; server_name localhost; location / {
root	/ly;
index  index.html index.htm;
}
}
核心解释如下:
Nginx服务器监听localhost:80的请求,

root表示项目的根目录,这里指向/ly目录
index表示项目中的默认首页是index.html或者是index.htm,Nginx自动访问默认首页

在这里插入图片描述

启动Nginx

停止Nginx
./nginx ‐s stop

启动Nginx
./nginx

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-hldaGJWW-1582271849879)(media/564b036071caaeb7e52d8480af42d26a.png)]

部署项目

打开Windows中的浏览器,输入如下地址访问web应用

http://192.168.0.106/

web的通讯原理

学习Java开发Web应用之前,首先我们得对日常生活中,用浏览器访问服务器之间的HTTP通信过程要了解一下,基本内容如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ZhJP7u1f-1582271849880)(media/0fbb061f41b2604f9e05e137b4352457.jpg)]

  1. 建立Web浏览器与Web服务器的TCP连接

  2. Web浏览器向Web服务器发送请求命令

  3. Web浏览器发送请求头信息

  4. Web服务器应答

  5. Web服务器发送应答头信息

  6. Web服务器向浏览器发送数据

  7. Web服务器关闭TCP连接

第5章 基本用户管理

需求:

创建用户组,创建用户,并分配用户所属的用户组。

添加用户

添加用户语法:useradd -m [-g] [已存在组名] 新用户名
修改用户密码语法:passwd  新用户名

参数解释:
1.	-m	自动在/home目录了,建立用户主目录,主目录名字就是新用户名
2.	-g 组名 指定新用户所在的组,如果不带"-g 组名"参数的话,会建立和新用户名同名的组

命令:useradd ‐m userA

在这里插入图片描述

使用SSH Secure客户端工具,用userA普通用户,root密码,登录上Linux。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-MPEeDQEQ-1582271849881)(media/07717be2bd3ae825cb2e2333fea6e436.png)]

修改用户

语法:usermod -l 新登录名 原登录名
修改原登录名为新登录名,但所在组名不变参数解释:

1.	-l 修改登录名

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-0drzpCjj-1582271849882)(media/87087d072c22c39ca7c9d65af0c1edb3.png)]

用户组操作

添加组操作

语法:groupadd 组名
         添加一个新组
命令:groupadd groupA

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-S0rWwuVr-1582271849882)(media/5c8b0ec2be11f4859d9ae09cd38e5e03.png)]

修改用户将用户添加到指定组

语法:usermod -g|G 组名 用户
          	将用户添加到组中
		g:代表的是基本组。 
		G:代表的附属组。
		一个用户只能属于一个基本组,但是可以属于多个附属组
参数解释:
-g 修改用户所属的基本组
命令:usermod ‐g groupA testA

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-uRBVs73A-1582271849883)(media/f34e53f0884b518deddb891818adfb9c.png)]

修改testA的附属组,设置一个用户多个附属组语法如下:

命令:usermod -G 附属组1,附属组2… 用户

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Vtnm6Fe4-1582271849883)(media/aadce11d0013a83533781fed68e21490.png)]

查看用户与附属组之间关系和所有的组列表

命令:cat /etc/group

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-87xPdDl6-1582271849883)(media/7a86bcbbf798920506a77e1cea3aa091.png)]

将用户从附属组中删除

语法:gpasswd -d 用户 附属组组名
          将用户从组中删除
注意:
         由于一个用户只有一个基本组,所以无法从基本组中删除,只可以修改用户的基本组,可以从附属组中删除用户
参数解释:
 -d 从组中删除用户

命令:gpasswd ‐d testA groupB

修改组名

语法:groupmod -n 新组名 原组名将原组名修改为新组名
参数解释:
 -n 设置使用的组名称
命令:groupmod ‐n groupAA groupA

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-q2jpA1U0-1582271849883)(media/266e31093e714220d2c076d0d3d7d9ed.png)]

删除用户组

groupdel 用户组名称。

在删除用户基本组之前,必须先删除用户组中的用户才能删除组。删除附属组不需要。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-150e2XAI-1582271849884)(media/7a09cc2cc95516f0276447257b948a76.png)]

为用户配置sudo权限

sudo,可以理解为超级管理员执行的操作,通常是系统级别的指令。

用root编辑 vi /etc/sudoers 在文件的如下位置,在 root ALL=(ALL) ALL

下面添加一行testA ALL=(ALL) ALL

然后保存并强制退出wq!,testA 用户就可以用sudo来执行系统级别的指令。

命令:sudo useradd  ‐m testAA

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3iu3qUxh-1582271849884)(media/cd29419a9b2a2e9f1a2ea557065779ff.png)]

第6章 防火墙配置

需求:
我们查看,启动和停止机器中的防火墙。

防火墙类似于一个安全卫士管家,它能对你访问它人电脑,它人访问你的电脑,进行拦截并处理,有的阻止,有的放行,有的转发。

Linux中防火墙根据配置文件/etc/sysconfig/iptables来控制本机的“出、入”网络访问行为,其对行为的配置策略有四个策略表,如下图:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-dBCQnhiW-1582271849884)(media/05f7eba294b2f2fd83fc1ebee0c95aac.jpg)]

上述表解释如下,同学们了解一下即可:

raw表

主要用于决定数据包是否被状态跟踪机制处理。在匹配数据包时,raw表的规则要优先于其他表。

mangle表

主要用于修改数据包的TOS(Type Of Service,服务类型)、TTL(Time To Live,生存周期)指以 及为数据包设置Mark标记,以实现Qos(Quality Of Service,服务质量)调整以及策略路由等应用,由于需要相应的路由设备支持,因此应用并不广泛。

nat表

主要用于修改数据包的IP地址、端口号等信息(网络地址转换,如SNAT、DNAT、MASQUERADE、

REDIRECT)。属于一个流的包(因为包的大小限制导致数据可能会被分成多个数据包)只会经过这个表一次。如果第一个包被允许做NAT或Masqueraded,那么余下的包都会自动地被做相同的操作,也就是说,余下的包不会再通过这个表。

filter表

主要用于对数据包进行过滤,根据具体的规则决定是否放行该数据包(如DROP、ACCEPT、REJECT、LOG)。filter 表对应的内核模块为iptable_filter,包含三个规则链:

INPUT链:INPUT针对那些目的地是本地的包

FORWARD链:FORWARD过滤所有不是本地产生的并且目的地不是本地(即本机只是负责转发)的包

OUTPUT链:OUTPUT是用来过滤所有本地生成的包

查看防火墙状态(centos6命令)

命令:service iptables status,centos6的命令(centos7无法运行)

centos7的命令

systemctl status firewalld.service

关闭防火墙

命令:service iptables stop(centos6命令)

centos7命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-D9aWvisx-1582271849884)(media/aa79992e9f7e04f0b08eef5f8cd30e39.png)]

启动防火墙

命令:service iptables start(centos6命令)

centos7命令

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lkYfSdAs-1582271849884)(media/a17a2d145c238aad7d2bd4f00f96148d.png)]

禁止防火墙自启(linux绝对不建议禁止或关闭)

命令:chkconfig iptables off(centos6命令)

centos7命令

--设置开机启动
systemctl enable firewalld.service

--关闭开机启动
systemctl disable firewalld.service

--查看启动状态
systemctl list-unit-files \|grep firewalld
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值