Linux自有服务
自有服务,即不需要用户独立去安装的软件的服务,而是当系统安装好之后就可以直接使用的服务(内置)。
运行模式(运行级别)
centos6及之前的版本中,系统运行级别通过/etc/inittab文件进行设置和控制,但在centos7中,对这个文件的设置将不会对系统运行级别产生影响.
1. 运行级别对应关系
init level systemctl target
0 shutdown.target
1 emergency.target
2 rescure.target
3 multi-user.target
4 无
5 graphical.target
6 无
2. 运行级别设置
1)语法:systemctl [command] [unit.target]
2)命令及参数:
- command部分
get-default :获取当前的target;
set-default :将默认运行级别设置为指定的target;
isolate :切换至指定的运行级别。
- unit.target部分:为上面1节部分中给出的运行级别
3. 常用运行级别相关命令
1)systemctl
systemctl get-default:获取当前的运行级别;
systemctl set-default multi-user.target:将默认运行级别设置为mulit-user;
systemctl isolate multi-user.target:不重启系统的情况下,将运行级别切换至mulit-user;
systemctl isolate graphical.target:不重启系统的情况下,将运行级别切换至图形模式。
2) 其他
runlvel:返回结果中,第一个数为之前运行级别,后一个数为当前运行级别;
init 5:将当前运行级别切换至5(图形模式)。
网络配置
修改ip为静态ip,找到相应网卡: /etc/sysconfig/network-scripts/ifcfg-exx
-
编辑 vi /etc/sysconfig/network-scripts/ifcfg-ens33
TYPE=Ethernet
BOOTPROTO=static 静态ip
DEFROUTE=yes
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
NAME=eno16777736
UUID=34bbe4fa-f0b9-4ced-828a-f7f7e1094e4a
DEVICE=eno16777736
ONBOOT=yes
PEERDNS=yes
PEERROUTES=yes
IPV6_PEERDNS=yes
IPV6_PEERROUTES=yes
IPADDR= ip地址
NETMASK=255.255.255.0 子网掩码
GATEWAY=192.168.254.2 网关 -
重启网卡 service network restart
修改dns地址
编辑 vim /etc/resolv.conf
修改文件内容 nameserver 114.114.114.114,修改后立即生效
常用dns地址
114.114.114.114
114.114.115.115
223.5.5.5 阿里
223.6.6.6 阿里
180.76.76.76 百度
SSH服务
SSH(Secure Shell Protocol)是一种网络协议,用于计算机之间的加密登录。在默认状态下SSH服务提供俩个服务功能,一个是提供类似telnet远程联机服务器的服务,即SSH服务,另一个是类似FTP服务的sftp-server,借助SSH协议来传输数据的,提供更安全的SFTP服务。默认端口22.
提醒:SSH客户端(ssh命令)包含一个很有用的远程安全拷贝命令scp,也是通过ssh协议工作的。
ssh命令用于远程登录上Linux主机。
常用格式:ssh [-l login_name] [-p port] [user@]hostname
更详细的可以用man ssh 查看。
不指定用户,默认使用root账户登录
ssh 192.168.0.15
指定用户:
ssh -l root 192.168.0.15 ssh root@192.168.0.15
如果修改过ssh登录端口的可以:
ssh -p 521 192.168.0.15 ssh -l root -p 521 192.168.0.15 ssh -p 521 root@192.168.0.15
另外修改配置文件/etc/ssh/sshd_config,可以改ssh登录端口和禁止root登录。改端口可以防止被端口扫描。
启动服务,默认是启动的,可以使用 service sshd start启动
远程连接工具 CRT使用
设置主机名
1、hostname命令用户查看和设置主机名(该设置是临时的,主要用于查看)
hostname -f #查看全限定主机名 hostname #要设置的主机名
2、设置永久主机名,需重启生效,修改/etc/sysconfig/network其中的hostname选项,使用ping命令检测
3、修改Linux服务器的hosts文件,本地DNS解析到修改后的主机名,vi /etc/hosts
chkconfig
Linux chkconfig命令用于检查,设置系统的各种服务。相当于windows下的开机启动项的管理服务
语法
chkconfig [--add][--del][--list][系统服务] 或 chkconfig [--level <等级代号>][系统服务][on/off/reset]
参数:
- --add 增加所指定的系统服务,让chkconfig指令得以管理它,并同时在系统启动的叙述文件内增加相关数据。
- --del 删除所指定的系统服务,不再由chkconfig指令管理,并同时在系统启动的叙述文件内删除相关数据。
- --level <等级代号> 指定读系统服务要在哪一个执行等级中开启或关毕。
示例
列出chkconfig所知道的所有命令。
# chkconfig -list
开启服务。
# chkconfig telnet on //开启Telnet服务
# chkconfig --list //列出chkconfig所知道的所有的服务的情况
关闭服务
# chkconfig telnet off //关闭Telnet服务
# chkconfig -list //列出chkconfig所知道的所有的服务的情况
ntp服务
NTP是网络时间同步协议,就是用来同步网络中各个计算机的时间的协议。时间对于服务器来说是非常重要的。
1、一次性同步
ntpdate 时间服务器ip地址
2、设置时间同步服务(自动服务)
service ntpd start
3、设置开机启动
chkconfig --level 35 ntpd on
时间服务器ip地址查看:www.ntp.org.cn/pool.php
注:如没有ntpd服务,需要安装:yum install -y ntp
防火墙服务
所谓防火墙指的是一个由软件和硬件设备组合而成、在内部网和外部网之间、专用网与公共网之间的边界上构造的保护屏障。
防火墙是一种保护计算机网络安全的技术性措施,它通过在网络边界上建立相应的网络通信监控系统来隔离内部和外部网络,以阻挡来自外部的网络入侵。
firewalld的基本使用
- 启动防火墙: systemctl start firewalld
- 查看防火墙状态: systemctl status firewalld
- 停止防火墙: systemctl stop firewalld
- 禁用防火墙: systemctl disable firewalld
systemctl是CentOS7的服务管理工具中主要的工具,它融合之前service和chkconfig的功能于一体。
启动一个服务:systemctl start firewalld.service
关闭一个服务:systemctl stop firewalld.service
重启一个服务:systemctl restart firewalld.service
显示一个服务的状态:systemctl status firewalld.service
在开机时启用一个服务:systemctl enable firewalld.service
在开机时禁用一个服务:systemctl disable firewalld.service
查看服务是否开机启动:systemctl is-enabled firewalld.service
查看已启动的服务列表:systemctl list-unit-files|grep enabled
查看启动失败的服务列表:systemctl --failed
配置firewalld-cmd
- 查看版本: firewall-cmd --version
- 查看帮助: firewall-cmd --help
- 显示状态: firewall-cmd --state
- 查看所有打开的端口: firewall-cmd --zone=public --list-ports
- 更新防火墙规则: firewall-cmd --reload
- 查看区域信息: firewall-cmd --get-active-zones
- 查看指定接口所属区域: firewall-cmd --get-zone-of-interface=eth0
- 拒绝所有包:firewall-cmd --panic-on
- 取消拒绝状态: firewall-cmd --panic-off
- 查看是否拒绝: firewall-cmd --query-panic
那怎么开启一个端口呢
添加
firewall-cmd --zone=public --add-port=80/tcp --permanent (–permanent永久生效,没有此参数重启后失效)
重新载入
firewall-cmd --reload
查看
firewall-cmd --zone=public --query-port=80/tcp
删除
firewall-cmd --remove-port=80/tcp --permanent
rpm管理
类似于windows上的软件管家,主要作用是对linux服务器上的软件包进行对应管理操作,管理分为:查询、卸载、安装.
1、查询
rpm -qa | grep(q:query;a:all):查询grep过滤出的软件安装情况
2、安装/升级
rpm -Uhv ***.rpm
3、卸载
rpm -e package_name
rpm -e –nodeps package_name 不考虑依赖包
rpm -e –allmatches package_name 删除所有跟package_name匹配的所有版本的包
Linux Crontab 定时任务
crontab是一个命令,用于设置周期性被执行的指令。该命令从标准输入设备读取指令,并将其存放于“crontab”文件中,以供之后读取和执行。与windows下的计划任务类似,当安装完成操作系统后,默认会安装此服务工具,并且会自动启动crond进程,crond进程每分钟会定期检查是否有要执行的任务,如果有要执行的任务,则自动执行该任务。
任务分类
1、系统任务调度:
系统周期性所要执行的工作,比如写缓存数据到硬盘、日志清理等。在/etc目录下有一个crontab文件,这个就是系统任务调度的配置文件,内容如下:
前四行用来配置crond任务运行的环境变量,其中:第一行SHELL变量指定了系统要使用哪个shell,这里是bash;第二行PATH变量指定了系统执行命令的路径;第三行MAILTO变量指定了crond的任务执行信息将通过电子邮件发送给root用户,如果MAILTO变量的值为空,则表示不发送任务执行信息给用户;(第四行的HOME变量指定了在执行命令或者脚本时使用的主目录,可添加)。
2、用户任务调度
用户定期要执行的工作,比如用户数据备份、定时邮件提醒等。用户可以使用crontab来定制自己的计划任务。所有用户定义的crontab文件都被保存在/var/spool/cron目录下,其文件名与用户名一致。
3、crontab权限问题
本身时任何用户都可以创建自己的计划任务,但是root用户可以通过配置来设置某些用户不允许设置计划任务,/etc/cron.deny(黑名单),/etc/cron.allow(白名单)
crontab的使用
我们常用的命令如下:
crontab [-u username] //省略用户表表示操作当前用户的crontab
-e (编辑工作表)
-l (列出工作表里的命令)
-r (删除工作表)
我们用crontab -e进入当前用户的工作表编辑,是常见的vim界面。每行是一条命令。
crontab的命令构成为 时间+动作,其时间有分、时、日、月、周五种,操作符有
- * 取值范围内的所有数字
- / 每过多少个数字
- - 从X到Z
- ,散列数字
实例
实例1:每1分钟执行一次重启network服务
*/1 * * * * service network restart
实例2:每小时的第3和第15分钟执行
3,15 * * * * service network restart
实例3:在上午8点到11点的第3和第15分钟执行
实例4:每隔两天的上午8点到11点的第3和第15分钟执行
实例5:每周一上午8点到11点的第3和第15分钟执行
实例6:每晚的21:30重启network
实例7:每月1、10、22日的4 : 45重启network
实例8:每周六、周日的1 : 10重启network
实例9:每天18 : 00至23 : 00之间每隔30分钟重启network
实例10:每星期六的晚上11 : 00 pm重启network
实例11:每一小时重启network
实例12:晚上11点到早上7点之间,每隔一小时重启network
SELinux(Security-Enhanced Linux) 是美国国家安全局(NSA)对于强制访问控制的实现,是 Linux历史上最杰出的新安全子系统。
关闭SELinux
临时生效:
setenforce 0 #(临时生效可以直接用setenforce 0,1 启用 0 告警,不启用)
永久生效:完全关闭策略,需要编辑这个config文件后,重启设备才能生效。
# 操作前先备份 cp /etc/selinux/config /etc/selinux/config.bak cat /etc/selinux/config # SELINUX= can take one of these three values: # enforcing - SELinux security policy is enforced. 强制打开,拒绝违反安全策略 # permissive - SELinux prints warnings instead of enforcing. 遇到违反安全策略仍正常执行,但输出警告 # disabled - No SELinux policy is loaded. 关闭安全策略 vim /etc/selinux/config/ --> SELINUX=enforcing[效果同上] # SELINUX参数enforcing代表打开,disabled代表关闭 # 查看selinux状态: getenforce