Linux之防火墙服务和rpm管理及光盘挂载

作者: 51CTO博文  更新时间:2021-05-20 11:07:13  原文链接


以下出现的 “ # ” 表示以超级管理员(root)用户操作

文章目录

      • ① 临时设置主机名(立竿见影),需要切换用户使之生效
      • ② 永久设置主机名(需要重启)
      • ③ 修改linux服务器的hosts文件,将yunwei指向本地(设置FQDN)
      • ① 一次性同步时间(简单)
      • ① 查看iptables是否开机启动
      • ② iptables服务启动/重启/关闭
      • ③ 查看iptables的状态(规则)
  • 扩展:光盘的挂载和解挂
  • 六、cron/crontab计划任务(重点)
      • ② 编辑计划任务(重点)
  • 自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置)。

一、设置主机名

# hostname
# hostname -f		FQDN(全限定域名)

① 临时设置主机名(立竿见影),需要切换用户使之生效

# hostname 设置的主机名

② 永久设置主机名(需要重启)

  • 先找到一个文件
/etc/sysconfig/network		【主机名的配置文件】

  • 修改其中的 HOSTNAME 为自己需要设置的永久主机名

③ 修改linux服务器的hosts文件,将yunwei指向本地(设置FQDN)

  • Hosts文件的位置: /etc/hosts
  • 问题:不设置 FQDN 会怎么样?
    ①很多开源服务器软件(例如Apache)则无法启动,或出现报错;
    ②方便记忆,看到主机名对其作用有一个初步判断;
    ③如果不设置则会影响本地的域名的解析(本地访问);

二、chkconfig

  • 作用:相当于windows下“安全卫士”、“电脑管家”之类的安全辅助工具提供“开机启动项”的一个管理服务。
  • 在linux下不是所有的软件安装完成之后都有开机启动服务,有的可能需要自己去添加。除此之外还可以查看和删除。

① 开机启动服务查询

# chkconfig --list

  • 其中 0-6 表示各个启动级别
  • 例如:以 httpd 为例,其 3 级别为关闭( off ),则表示其在 3 启动形式下默认开机不启动
    5 对应的也是关闭,则表示其在桌面环境下也是开机不启动。
  • 例如: kdump 服务,在 2,3,4,5 的级别下默认开机启动的,其他级别下默认开机不启动

② 删除服务

# chkconfig --del 服务名
  • 例如删除 httpd 服务

③ 添加开机启动服务

# chkconfig --add 服务名			【必须要保证服务正常运行,才可以添加】

④ 设置服务在某个级别下开机启动/不启动【重点命令】

# chkconfig --level 连在一起的启动级别 服务名on/off
  • 案例:设置 httpd 服务在 3,5 级别下默认开机启动
  • 案例:设置 httpd 服务在 5 的级别下默认开机不启动

三、ntp 服务

  • 作用:ntp主要是用于对计算机的时间同步管理操作。

  • 时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响。

  • 例如:当前虚拟机里的linux时间就是不准确的

  • 同时服务器时间方式有2个:一次性同步(手动同步)、通过服务自动同步。

  • 上游的概念:

① 一次性同步时间(简单)

# ntpdate 时间服务器的域名或ip地址
  • IP地址查看可以访问:http://www.ntp.org.cn/pool.php

② 设置时间同步服务

服务名:ntpd

启动ntpd服务

# service ntpd start

或者

/etc/init.d/ntpd start

设置ntpd服务开机启动:

# chkconfig --list|grep ntpd
# chkconfig --level 35 ntpd on

四、防火墙服务

  • 防火墙:防范一些网络***。有软件防火墙、硬件防火墙之分。

  • 防火墙选择让请求通过,从而保证网络安全性。

  • 在当前的 centos6.5 中防火墙有一个名称: iptables7.x 中默认使用的是 firewalld

① 查看iptables是否开机启动

② iptables服务启动/重启/关闭

#service iptables start/restart/stop

/etc/init.d/iptables start /restart/stop

③ 查看iptables的状态(规则)

# service iptables status
  • 如果 iptables 没有启动,则提示服务没启动,如果已经启动,则显示防火墙的相关的规则信息

④ 查看规则的命令

# iptables -L -n
  • 含义:

    -L:表示列出规则

    -n:表示将单词表达形式改成数字形式显示

⑤ 简单设置防火墙规则

  • 例如,需要允许 80 端口通过防火墙,则规则可以用以下的命令来设置
# iptables -I INPUT -p tcp --dport 80 -j ACCEPT    # 允许访问80端口
  • Iptables :主命令

    -I:表示将规则放到最前面

    -A: add ,添加规则(最后)

    INPUT:进站请求【出站 output

    -p: protocol ,指定协议( icmp/tcp/udp

    --dport :指定端口号

    -j:指定行为结果,允许( accept )/禁止( reject )/丢弃( drop

  • 添加完成之后需要保存操作:

/etc/init.d/iptables save

  • 测试80端口访问:

五、rpm管理(重点)

  • 作用:rpm的作用类似于windows上的电脑管家中“软件管理”、安全卫士里面“软件管家”等产品,主要作用是对linux服务器上的软件包进行对应管理操作, 管理分为:查询、卸载、安装。

① 查询某个软件的安装情况

# rpm -qa|grep 关键词
  • 选项:

    -q:查询, query

    -a:全部, all

  • 案例:查询linux上是否安装 firefox

  • 案例:查询是否安装 qq

② 卸载某个软件

# rpm -e 软件的名称

  • 火狐卸载的时候是没有依赖关系的,所以可以直接卸载。

  • 但是在卸载 Apache 的时候提示无法卸载:

  • 当存在依赖关系的时候又不想去解决这个问题的时候可以:

# rpm -e 软件包名 --nodeps

③ 软件的安装

  • 要想装软件,和windows下一样,先得找到安装包。
  • 软件包的获得方式:
    a. 去官网去下载;
    b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;
  • 此处以光盘文件为例:
  • 查看块状设备的信息:
# lsblk   (list block devices)		查看块状设备的信息

  • Name:名称
  • Size:设备大小
  • Type:类型
  • MountPoint:挂载点(类似windows下盘符)

扩展:光盘的挂载和解挂

a. 解挂操作

  • 命令:umount

  • 语法: # umount 当前设备的挂载点(路径)

  • 此时,相当于U盘在windows上已经被弹出了,但是没有拔下电脑USB接口。

b. 挂载光盘

  • 命令:mount

  • 语法: # mount 设备原始地址 要挂载的位置路径

  • 设备原始地址:地址统一都在 /dev 下,然后根据大小确定具体 name 值,拼凑在一起组成原始地址,例如当前:“ /dev/sr0

  • 要挂载的位置路径:挂载目录一般都在 mnt 下,也可以在 mnt 下建目录,此处以“ /mnt/dvd ”为例

  • 安装软件的命令:

# rpm -ivh 软件包完整名称
  • 选项:

    -iinstall ,安装

    -v :显示进度条

    -h :表示以“ # ”形式显示进度条

六、cron/crontab计划任务(重点)

  • 作用:操作系统不可能24小时都有人在操作,有些时候想在指定的时间点去执行任务(例如:每天夜里2点去重新启动Apache),此时不可能真有人每天夜里2点去执行命令,此时可以交给计划任务程序去执行操作。

  • 语法: # crontab 选项

  • 常用选项:

    -l: list ,列出指定用户的计划任务列表

    -e: edit ,编辑指定用户的计划任务列表

    -u: user ,指定的用户名,如果不指定,则表示当前用户

    -r: remove ,删除指定用户的计划任务列表

② 编辑计划任务(重点)

  • 计划任务的规则语法格式,以行为单位,一行则为一个计划:

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

  • 例如:如果想要每天的0点0分执行reboot指令,则可以写成

    0 0 * * * reboot

  • 取值范围:

    分:0~59

    时:0~23

    日:1~31

    月:1~12

    周:0~7,0和7表示星期天

  • 四个符号:

    * :表示取值范围中的每一个数字

    - :做连续区间表达式的,要想表示1~7,则可以写成:1-7

    / :表示每多少个,例如:想每10分钟一次,则可以在分的位置写:*/10

    , :表示多个取值,比如想在1点,2点6点执行,则可以在时的位置写:1,2,6

  • 问题1:每月1、10、22日的4:45重启network服务

45  4  1,10,22  *  *  service network restart
  • 问题2:每周六、周日的1:10重启network服务
10  1  *  *  6,0   service network restart
  • 问题3:每天18:00至23:00之间每隔30分钟重启network服务
*/30  18-23  *  *  *   service network restart
  • 问题4:每隔两天的上午8点到11点的第3和第15分钟执行一次重启
3,15  8-11  */2  *  *   reboot
  • 案例:真实测试案例,每1分钟往root家目录中的RT.txt中输入当前的时间信息,为了看到效果使用追加输出

    计划任务: */1 * * * * ls ~>> /root/RT.txt

  • Crontab权限问题:本身是任何用户都可以创建自己的计划任务。

  • 但是超级管理员可以通过配置来设置某些用户不允许设置计划任务 :

    配置文件位于(黑名单):

/etc/cron.deny	里面写用户名,一行一个

  • 还有一个配置文件:(白名单)
/etc/cron.allow		(本身不存在,自己创建)
  • 注意 :白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认允许创建计划任务。