• linux自有服务(2)


    Linux 自由服务(2)
    自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后可以直接使用的服务(内置)。

    一、设置主机名

    回顾:

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

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

    #hostname 设置的主机名
    


    ②永久设置用户名(需要重启)版本不同操作略有差异
    先找到/etc/hostname //主机名的配置文件

    修改为自己需要设置的永久主机名

    ③修改Linux服务器的hosts文件,将xia.centos7.org指向本地(设置FQDN)
    Host文件的位置:/etc/hosts

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

    二、chkconfig

    作用:相当于windows的”开机启动项“的管理。
    在Linux下不是所有的软件安装完成以后都有开机启动服务,有的肯需要自己去添加。除此之外还可以查看和删除。
    ① 查看开机启动项(不适用centos7)

    #chkconfig --list(适用于centos6)
    #systemctl list-unit-files (适用于centos7)
    两个命令都可以通过grep来过滤查看需要的服务
    


    其中0-6表示各个启动级别
    例如:以network为例,其3级别为on(关闭),则表示其在3启动形式下默认开机启动
    ②删除服务

    #chkconfig -del 需要删除的服务名
    

    ③添加开机启动服务

    #chkconfig --add 服务名
    

    ④设置服务在某个级别下开机自启动(重点命令)

    #chkconfig --level 连在一起的启动级别 服务名 开/关
    

    案例:设置httpd服务在3,5级别下默认开机启动

    #chkconfig --level 35 httpd on
    

    三、ntp

    作用:ntp主要用于对计算机的时间同步管理操作。
    时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如时间不准,则可能造成很大的影响。
    例如:当前虚拟机里的Linux时间是准确的

    四、防火墙

    作用:防护外来的攻击
    在当前的centos7中防火墙有一个名称:firewalld
    ①查看firewalld是否开机自启动

    ②firewalld服务启动、重启、关闭

    #systemctl start/restart/stop firewalld.service
    

    ③查看firewalld的状态(规则)

    #service firewalld status
    


    ④查看规则的命令

    #iptables -L -n
    

    含义:
        -L:表示列出规则
        -n:表示将单词表现形式改为数字表现形式显示

    ⑤简单设置防火墙规则
    例如:需要允许22端口通过防火请,则规则可以使用如下命令

    [root@xia ~]# iptables -A INPUT -p tcp --dport 22 -j ACCEPT   //开放22端口
      iptables:主命令
      -A :add,添加规则
      INPUT:进站请求
      -p:protocol,指定协议
      --dport:指定端口号
      -j:指定行为结果,允许(accept)禁止(reject)
    

    五、rpm软件管理(重点)

    作用;rpm的作用类似于windows上的电脑管家中的‘软件管理’,只要作用是对Linux服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装
    ①查询某个软件的安装情况

    #rpm -qa|grep 关键词
    

    选项:
        -q:查询,query
        -a:全部,all
    案例:查询Linux是否安装firefox

    [root@xia ~]# rpm -qa|grep firefox
    firefox-68.5.0-2.el7.centos.x86_64
    [root@xia ~]# rpm -qa|grep chrome
    [root@xia ~]# 
    

    ②卸载某个软件

    #rpm -e 软件的名字
    

    当不存在依赖关系的时候可以直接卸载,存在依赖关系的时候,又不想解决这个问题的时候可以:

    #rpm -e 软件包名 --nodeps
    

    ③软件的安装
    找到想要的安装包,
    软件包的获得方法:a.去官网下载。b.不介意老版本的话可以在光盘安装
    此处以光盘文件为例:
    查看块状设备的信息:

    #lsblk 
    


    Name:名称
    Size:设备大小
    Type:类型
    MountPoint:挂载点(类似于Windows的盘符)
    扩展:光盘的挂载和解挂
    a.解挂操作:
        命令:umount
        语法:umount 当前设备的挂载点(路径)
    运行此命令相当于弹出U盘但是没有拔出
    b.挂载光盘
        命令:mount
        语法:mount 设备源地址 要挂载的地址
    设备原始地址:地址统一都在/dev下,然后根据大小确定具体name值,拼凑在一起组成原始地址,例如当前:/dev/sr0
    要挂载的路径:/mnt/dvd
    安装软件的命令:

    #rmp -ivh 软件包完整名称
    

    选项:
        -i:intall,安装
        -v:显示进度条
        -h:表示以“#”形式显示进度条

    六、cron/crontab计划任务
    作用:计算机系统不可能24小时都有人操作,有时候想在指定的时间点去执行任务,此时就可以交给计划任务程序执行。
    语法:#crontab 选项
    常用选项:
        -l:list,列出指定用户的计划任务列表
        -e:edit,编辑指定用户的计划任务列表
        -u:user,指定的用户名,如果不指定,则表示当前用户
        -r:remove,删除指定用户的计划任务列表
    ①列出指定用户的计划任务列表

    ②编辑计划任务列表
    编辑计划任务的语法格式,以行为单位,一行为一个任务计划
    分 时 日 月 周 需要执行的命令
    例如:如果想在每天的0点0分执行reboot指令,则可以写成
    0 0 *** reboot

    取值范围:
    分:0-59
    时:0-23
    日:1-31
    月:1-12
    周:0-6 0表示星期天
    四个符号:
    *:表示取值范围内的所有数字
    -:做连续区间表达式时,要想表达1~7,则可以写成1-7
    /:表示每多少个  例如:想每10分钟一次,则可以在分的位置写:*/10
    ,:表示多个取值,比如想在1点2点6点执行。可以在时的位置写成:1,2,6
    
    问题1:每月1、10、22日的4:45重启network服务
    45 4 1,10,22 * * systemctl restart network
    问题2:每周六、日的1:10重启network服务
    10 1 * * 0,6 systemctl restart network
    问题3:每天18点到23点之间每隔30分钟重启网卡一次
    */30 18-23 * * * systemctl restart network
    问题4:每个两天的上午8点到11点的第3和第15分钟执行一次重启
    3,15 8-11 */2 * * reboot
    案例:真实测试案例,每1分钟往root家目录中的RT.txt中输入~的目录信息,为了看到效果使用追加输出
    计划任务:*/1 * * * * ls ~ >>/root/RT.txt
    

    [root@xia /]# cat /root/RT.txt 
    2021-08-08 09:17:31
    anaconda-ks.cfg
    Desktop
    Documents
    Downloads
    hello.c
    initial-setup-ks.cfg
    Music
    passwd
    Pictures
    Public
    RT.txt
    Templates
    Videos
    wget-log
    anaconda-ks.cfg
    Desktop
    Documents
    Downloads
    hello.c
    

    crontab权限问题:本身是任何用户都可以创建自己的计划任务。
    但是超级管理员可以通过配置来设置某些用户不允许设置计划任务:
    配置文件位于:(黑名单)
    /etc/cron.deny 里面可以写用户名一行一个

    [root@xia /]# cat /etc/cron.deny 
    xia
    [root@xia /]# su xia
    [xia@xia /]$ crontab -l
    You (xia) are not allowed to use this program (crontab)
    See crontab(1) for more information
    [xia@xia /]$ crontab -e
    You (xia) are not allowed to use this program (crontab)
    See crontab(1) for more information
    

    还有一个配置文件(白名单)也可在黑名单中取消
    /etc/cron.allow //本身不存在自己创建

    [root@xia /]# vim /etc/cron.allow
    [root@xia /]# cat /etc/cron.allow
    xia
    [root@xia /]# su xia
    [xia@xia /]$ crontab -e
    no crontab for xia - using an empty one
    crontab: no changes made to crontab
    [xia@xia /]$ 
    

    注:白名单的优先级高于黑名单,如果同一用户即存在与黑名单也存在与白名单,则会默认允许创建作业计划。

  • 相关阅读:
    upcoj 2169 DP
    hdu3415 单调队列
    hdu4417(树状数组)(线段树)(划分树+二分)
    poj3264 线段树水题
    STL Map hdu1004,1075,1263
    hdu1166线段树水题
    <<<<<<<<<用来存代码哒!!!!>>>>>>>>>>>>
    jQuery
    apache配置php
    linux关机、重启命令
  • 原文地址:https://www.cnblogs.com/xiaxiangming/p/15096634.html
Copyright © 2020-2023  润新知