Linux自有服务(2)-Linux从入门到精通第六天(非原创)
文章大纲
一、设置主机名
二、chkconfig
三、ntp服务
四、防火墙服务
五、rpm管理(重点)
六、cron/crontab计划任务(重点)
七、学习资料下载
八、参考文章
![](https://upload-images.jianshu.io/upload_images/16598307-7e5523fa8a59bab0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/1000/format/webp)
自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置)。
一、设置主机名
回顾:
#hostname
#hostname -f FQDN(全限定域名)
①临时设置主机名(立竿见影),需要切换用户使之生效
#hostname 设置的主机名
②永久设置主机名(需要重启)
先找到一个文件
/etc/sysconfig/network 【主机名的配置文件】
![](https://upload-images.jianshu.io/upload_images/16598307-894395c23b3b9a57.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/400/format/webp)
修改其中的HOSTNAME为自己需要设置的永久主机名
![](https://upload-images.jianshu.io/upload_images/16598307-d7db3c7e5aa2f37d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/466/format/webp)
③修改linux服务器的hosts文件,将yunwei指向本地(设置FQDN)
Hosts文件的位置:/etc/hosts
![](https://upload-images.jianshu.io/upload_images/16598307-5e5b31a07fcaeaa4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
问题:不设置FQDN会怎么样?
①很多开源服务器软件(例如Apache)则无法启动,或出现报错;
②方便记忆,看到主机名对其作用有一个初步判断;
③如果不设置则会影响本地的域名的解析(本地访问);
二、chkconfig
作用:相当于windows下“安全卫士”、“电脑管家”之类的安全辅助工具提供“开机启动项”的一个管理服务。
在linux下不是所有的软件安装完成之后都有开机启动服务,有的可能需要自己去添加。除此之外还可以查看和删除。
①开机启动服务查询
chkconfig --list
![](https://upload-images.jianshu.io/upload_images/16598307-33bd091d6a6998c9.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
其中0-6表示各个启动级别
例如:以httpd为例,其3级别为关闭(off),则表示其在3启动形式下默认开机不启动
5对应的也是关闭,则表示其在桌面环境下也是开机不启动。
再例如:kdump服务,在2,3,4,5的级别下默认开机启动的,其他级别下默认开机不启动
②删除服务
#chkconfig --del 服务名
例如删除httpd服务
![](https://upload-images.jianshu.io/upload_images/16598307-93ebc3b552ea5546.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/555/format/webp)
③添加开机启动服务
#chkconfig --add 服务名 【必须要保证服务正常运行,才可以添加】
![](https://upload-images.jianshu.io/upload_images/16598307-6575107290393227.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
④设置服务在某个级别下开机启动/不启动【重点命令】
#chkconfig --level 连在一起的启动级别 服务名on/off
案例:设置httpd服务在3,5级别下默认开机启动
![](https://upload-images.jianshu.io/upload_images/16598307-aaa591a6dfcf19bf.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
案例:设置httpd服务在5的级别下默认开机不启动
![](https://upload-images.jianshu.io/upload_images/16598307-33d3d8ff5245a2b2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
三、ntp服务
作用:ntp主要是用于对计算机的时间同步管理操作。
时间是对服务器来说是很重要的,一般很多网站都需要读取服务器时间来记录相关信息,如果时间不准,则可能造成很大的影响。
例如:当前虚拟机里的linux时间就是不准确的
![](https://upload-images.jianshu.io/upload_images/16598307-d5dea77db72e6368.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/392/format/webp)
同时服务器时间方式有2个:一次性同步(手动同步)、通过服务自动同步。
上游的概念:
![](https://upload-images.jianshu.io/upload_images/16598307-93e81d4d2e58d6ad.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
①一次性同步时间(简单)
#ntpdate****时间服务器的域名或ip地址
Ip地址查看可以访问:<u>http://www.ntp.org.cn/pool.php</u>
![](https://upload-images.jianshu.io/upload_images/16598307-3f6a9b5665b96c2d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
②设置时间同步服务
服务名:ntpd
启动ntpd服务
#service ntpd start 或者 /etc/init.d/ntpd start
![](https://upload-images.jianshu.io/upload_images/16598307-5dad7c88fa7aa5c1.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/555/format/webp)
设置ntpd服务开机启动:
# chkconfig --list|grep ntpd
# chkconfig --level 35 ntpd on
![](https://upload-images.jianshu.io/upload_images/16598307-476b09472561e16d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
四、防火墙服务
防火墙:防范一些网络攻击。有软件防火墙、硬件防火墙之分。
![](https://upload-images.jianshu.io/upload_images/16598307-a8225becff2a4623.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/379/format/webp)
防火墙选择让请求通过,从而保证网络安全性。
在当前的centos6.5中防火墙有一个名称:iptables 【7.x中默认使用的是firewalld】
①查看iptables是否开机启动
![](https://upload-images.jianshu.io/upload_images/16598307-f6129def29887af4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
②iptables服务启动/重启/关闭
service iptables start/restart/stop
/etc/init.d/iptables start /restart/stop
③查看iptables的状态(规则)
]# service iptables status
如果iptables没有启动,则提示服务没启动,如果已经启动,则显示防火墙的相关的规则信息
![](https://upload-images.jianshu.io/upload_images/16598307-207b31c8f23418bc.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
④查看规则的命令
#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)
![](https://upload-images.jianshu.io/upload_images/16598307-eeba9a3b61babda2.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
添加完成之后需要保存操作:
/etc/init.d/iptables save
![](https://upload-images.jianshu.io/upload_images/16598307-f3228c94c28510db.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
测试80端口访问:
![](https://upload-images.jianshu.io/upload_images/16598307-05b1f7d5302b238d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/426/format/webp)
五、rpm管理(重点)
作用:rpm的作用类似于windows上的电脑管家中“软件管理”、安全卫士里面“软件管家”等产品,主要作用是对linux服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装。
①查询某个软件的安装情况
#rpm -qa|grep 关键词
选项:
-q:查询,query
-a:全部,all
案例:查询linux上是否安装firefox
![](https://upload-images.jianshu.io/upload_images/16598307-4c6bc9eead27d31e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/461/format/webp)
案例:查询是否安装qq
![](https://upload-images.jianshu.io/upload_images/16598307-e5b27454bd1c8d6f.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/490/format/webp)
②卸载某个软件
#rpm -e 软件的名称
![](https://upload-images.jianshu.io/upload_images/16598307-557252cf667b2f9e.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
火狐卸载的时候是没有依赖关系的,所以可以直接卸载。
但是在卸载Apache的时候提示无法卸载:
![](https://upload-images.jianshu.io/upload_images/16598307-07fc44a2f0b36dab.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
当存在依赖关系的时候又不想去解决这个问题的时候可以:
#rpm -e 软件包名 --nodeps
![](https://upload-images.jianshu.io/upload_images/16598307-ef2e61f0fea7c25d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/378/format/webp)
③软件的安装
要想装软件,和windows下一样,先得找到安装包。
软件包的获得方式:
a. 去官网去下载;
b. 不介意老版本的话,可以从光盘(或者镜像文件)中读取;
此处以光盘文件为例:
查看块状设备的信息:
#lsblk (list block devices) 查看块状设备的信息
![](https://upload-images.jianshu.io/upload_images/16598307-5358da4ce1a7578a.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
Name:名称
Size:设备大小
Type:类型
MountPoint:挂载点(类似windows下盘符)
扩展:光盘的挂载和解挂
a. 解挂操作
命令:umount
语法:#umount 当前设备的挂载点(路径)
![](https://upload-images.jianshu.io/upload_images/16598307-31c6cc4bae513d6d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
b. 挂载光盘
命令:mount
语法:#mount 设备原始地址 要挂载的位置路径
设备原始地址:地址统一都在/dev下,然后根据大小确定具体name值,拼凑在一起组成原始地址,例如当前:“/dev/sr0”
要挂载的位置路径:挂载目录一般都在mnt下,也可以在mnt下建目录,此处以“/mnt/dvd”为例
![](https://upload-images.jianshu.io/upload_images/16598307-8187c3c860bdcaa3.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
安装软件的命令:
#rpm -ivh 软件包完整名称
选项:
-i:install,安装
-v:显示进度条
-h:表示以“#”形式显示进度条
![](https://upload-images.jianshu.io/upload_images/16598307-1ffb6f60d637c6e8.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
六、cron/crontab计划任务(重点)
作用:操作系统不可能24小时都有人在操作,有些时候想在指定的时间点去执行任务(例如:每天夜里2点去重新启动Apache),此时不可能真有人每天夜里2点去执行命令,此时可以交给计划任务程序去执行操作。
语法:#crontab 选项
常用选项:
-l:list,列出指定用户的计划任务列表
-e:edit,编辑指定用户的计划任务列表
-u:user,指定的用户名,如果不指定,则表示当前用户
-r:remove,删除指定用户的计划任务列表
①列出
![](https://upload-images.jianshu.io/upload_images/16598307-561a09fb405678f0.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/399/format/webp)
②编辑计划任务(重点)
计划任务的规则语法格式,以行为单位,一行则为一个计划:
分 时 日 月 周 需要执行的命令
例如:如果想要每天的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 里面写用户名,一行一个
![](https://upload-images.jianshu.io/upload_images/16598307-6dc7f4502d36451d.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/396/format/webp)
![](https://upload-images.jianshu.io/upload_images/16598307-b9d8b9e867e26fe4.png?imageMogr2/auto-orient/strip%7CimageView2/2/w/554/format/webp)
还有一个配置文件:(白名单)
/etc/cron.allow (本身不存在,自己创建)
注意:白名单优先级高于黑名单,如果一个用户同时存在两个名单文件中,则会被默认允许创建计划任务。
七、学习资料下载
链接:https://pan.baidu.com/s/1MQWS1S3kAK3I3Lzx-SU0fw
提取码:9n2k