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 /]$
注:白名单的优先级高于黑名单,如果同一用户即存在与黑名单也存在与白名单,则会默认允许创建作业计划。