Centos7 单用户模式
 
centos7里不再有0-6启动级别,而是4个target
 
graphical.target  多人模式,支持图形和命令行两种登录,对应之前的3,5级别
 
multi-user.target  多人模式,只支持命令行登录,对应之前的3级别
 
rescue.target   单人模式,对应之前的1级别
 
emergency.target 单人模式,不过系统进入后根目录是只读的
 
 
centos7采用的是grub2,和之前的方式有所不同
 
在对应的内核条目上,按下"e",会进入edit模式,搜寻ro那一行,以linux16开头的,按“end”键到最后,输入rd.break,再按ctrl+x进入
 
进去后重新挂载 /sysroot/,增加写权限
 
mount -o remount,rw /sysroot/
 
切换到原始系统下
 
chroot /sysroot/
 
passwd
修改密码输入新密码
 
touch /.autorelabel    //这句是为了selinux生效
 
退出单用户的方法是
 
先ctrl+d 退出,然后reboot
 
 
 
1.3 centos7救援模式
 
设置光驱启动
选择Troubleshooting
选择Rescure a centos system
选择continue
chroot /mnt/sysimage
passwd
 
1.4 设置IP
 
网卡名字不再是eth0、eth1
dhclient先自动获取ip
没有 ifconfig命令,要使用 ip add 查看ip
要想继续使用 ifconfig,需要安装 net-tools
yum install -y net-tools
编辑配置文件
vi  /etc/sysconfig/network-scripts/ifcfg-eno16777736
里面配置和centos6一样
 
 
1.5  设置主机名 && 设置命令自动补全
 
hostname 查看主机名
hostnamectl set-hostname  test1
hostnamectl status //查看主机名状态
cat /etc/hostname //查看配置文件
centos7支持命令参数补全
安装 bash-completion
yum install -y bash-completion
source /etc/profile
 
1.6 centos7服务相关
 
centos7 不再有chkconfig工具了,而是使用systemd
使某服务自启动 systemctl enable httpd.service
不自启动 systemctl disable httpd.service
查看服务状态 systemctl status httpd.service
查看所有服务 systemctl list-units --type=service
启动服务  systemctl start httpd.service
停止服务 systemctl stop httpd.service
重启服务 systemctl restart httpd.service
启动脚本路径 /usr/lib/systemd/system/
检查一个服务是否为开机启动  systemctl is-enabled httpd
 
 
1.7 centos7 systemd-unit
 
systemd管理服务的机制的特点:
支持服务并列启动,不用顺序启动,从而开机时间缩短
支持自动检测服务依赖的服务
Systemd 可以管理所有系统资源。不同的资源统称为 Unit(单位)。
Unit 一共分成12种类型
Service unit:系统服务   Target unit:多个 Unit 构成的一个组
Device Unit:硬件设备  Mount Unit:文件系统的挂载点
Automount Unit:自动挂载点  Path Unit:文件或路径
Scope Unit:不是由 Systemd 启动的外部进程
Slice Unit:进程组  Snapshot Unit:Systemd 快照,可以切回某个快照
Socket Unit:进程间通信的 socket  Swap Unit:swap 文件
Timer Unit:定时器
 
列出正在运行的 Unit   systemctl list-units
列出所有Unit,包括没有找到配置文件的或者启动失败的
systemctl list-units --all
列出所有没有运行的 Unit   systemctl list-units --all --state=inactive
列出所有加载失败的 Unit   systemctl list-units --failed
列出所有正在运行的、类型为 service 的 Unit
systemctl list-units --type=service
显示某个 Unit 是否正在运行  systemctl is-active application.service
显示某个 Unit 是否处于启动失败状态
systemctl is-failed application.service
显示某个 Unit 服务是否建立了启动链接
systemctl is-enabled application.service
 
 
1.8 centos7 systemd-target
 
target类似于centos6里面的启动级别,但target支持多个target同时启动。target其实是多个unit的组合,系统启动说白了就是启动多个unit,为了管理方便,就使用target来管理这些unit。
查看当前系统的所有 Target
systemctl list-unit-files --type=target
查看一个 Target 包含的所有 Unit
systemctl list-dependencies multi-user.target
查看启动时的默认 Target  systemctl get-default
设置启动时的默认 Target  systemctl set-default multi-user.target
切换 Target 时,默认不关闭前一个 Target 启动的进程,
systemctl isolate 命令改变这种行为,关闭前一个 Target 里面所有不属于后一个 Target 的进程
systemctl isolate multi-user.target
 
1.9 centos7 target关联unit
 
主配置文件 /etc/systemd/system.conf
开机会先加载/etc/systemd/system/default.target
所有的service和target在 /usr/lib/systemd/system/
ls -l /etc/systemd/system/defaut.target 是一个软连接
软连接到了/usr/lib/systemd/system/multi-user.target
它会加载/usr/lib/systemd/system/multi-user.target.wants下面的service
查看一个service属于哪个target,需要cat 具体的service文件
cat /usr/lib/systemd/system/sshd.service
看里面[install]部分
 
 
2.0 centos7 继续使用centos6的iptables管理机制
 
centos7不再使用iptables,而是使用firewalld
若不想使用firewalld,继续使用iptables,可以停掉firewalld,并且安装iptables-services包
systemctl stop firewalld
systemctl disable firewalld
yum install -y iptables-services
systemctl enable iptables
systemctl start iptables
 
 
firewalld的使用
 
centos6上使用的静态防火墙,规则保存在/etc/sysconfig/iptalbes, 更新规则,需要重新加载或者重启iptables服务,相当于是把之前的规则全部清空,再把配置文件里面的规则加载。
而centos7使用了动态防火墙,即firewalld,这种防火墙方案不再像之前,更改了规则不需要重新加载配置。
无论是firewalld还是之前的iptables服务,底层都是使用iptables工具来配置规则的。
fiewalld有zone和service的概念
每一个zone里面的iptables规则不一样,默认有9个zone。
centos7的默认zone是public
使用命令  firewall-cmd --get-zones 获取所有的zone
使用命令  firewall-cmd --get-default-zone  获取默认的zone
 
2.1 centos7 firewalld的zone
 
drop(丢弃) 任何接收的网络数据包都被丢弃,没有任何回复。仅能有发送出去的网络连接。
block(限制)任何接收的网络连接都被 IPv4 的 icmp-host-prohibited 信息和 IPv6 的 icmp6-adm-prohibited 信息所拒绝。
public(公共)在公共区域内使用,不能相信网络内的其他计算机不会对您的计算机造成危害,只能接收经过选取的连接。
external(外部)特别是为路由器启用了伪装功能的外部网。您不能信任来自网络的其他计算,不能相信它们不会对您的计算机造成危害,只能接收经过选择的连接。
dmz(非军事区)用于您的非军事区内的电脑,此区域内可公开访问,可以有限地进入您的内部网络,仅仅接收经过选择的连接。
work(工作)用于工作区。您可以基本相信网络内的其他电脑不会危害您的电脑。仅仅接收经过选择的连接。
home(家庭)用于家庭网络。您可以基本信任网络内的其他计算机不会危害您的计算机。仅仅接收经过选择的连接。
internal(内部) 用于内部网络。您可以基本上信任网络内的其他计算机不会威胁您的计算机。仅仅接受经过选择的连接。
trusted(信任)可接受所有的网络连接。
指定其中一个区域为默认区域是可行的。当接口连接加入了 NetworkManager,它们就被分配为默认区域。安装时,firewalld 里的默认区域被设定为公共区>域。
 
2.2 centos7 firewalld的zone相关命令
 
设置默认的zone  firewalld-cmd --set-default-zone=work
查看指定网卡所在的zone
firewall-cmd --get-zone-of-interface=eno16777736
给指定的网卡设置zone  firewall-cmd --zone=public --add-interface=lo
针对网卡更改zone  firewall-cmd --zone=dmz --change-interface=lo
也可以针对网卡删除zone
firewall-cmd --zone=dmz  --remove-interface=lo
查看所有网卡所在的zone  firewall-cmd --get-active-zones
 
 
2.3 centos7 firewalld service操作
 
在 /usr/lib/firewalld/services/ 目录中,还保存了另外一类配置文件,每个文件对应一项具体的网络服务,如 ssh 服务等
与之对应的配置文件中记录了各项服务所使用的 tcp/udp 端口,在最新版本的 firewalld 中默认已经定义了 70+ 种服务供我们使用
zone就是调用了不同的service而实现了不同的效果
列出所有的service: firewall-cmd --get-services
列出当前zone下加载的service:  firewall-cmd --list-services
查看某个zone下面的service:firewall-cmd --zone=public --list-services
给一个zone下面添加一个service:
firewall-cmd --zone=public --add-service=http
这个改动不会保存到配置文件里,要想保存到配置文件中,需要加上--permanent
firewall-cmd --zone=public --add-service=http  –-permanent
既然可以增加,同样也可以删除
firewall-cmd --zone=public --remove-service=http --permanent
 
2.4 centos7 firewalld 增加规则
 
假设自定义的 ssh 端口号为 12222,使用下面的命令来添加新端口的防火墙规则
firewall-cmd --add-port=12222/tcp --permanent
如果需要使规则保存到 zone 配置文件,则需要加参数 --permanent
防火墙配置文件也可以手动修改,修改后记得重载,重新加载的命令是
firewall-cmd --reload  这种情况下重新加载防火墙并不会中断用户连接,也可以彻底加载,这时候会中断用户连接,也会丢弃状态信息
firewall-cmd --complete-reload
还可以添加一个端口范围
firewall-cmd --add-port=2000-4000/tcp
针对某个zone添加端口
firewall-cmd --permanent --zone=home --add-port=443/tcp
启用端口转发,例如把22端口转发到127.0.0.2
firewall-cmd --permanent --zone=home --add-forward-port=port=22:proto=tcp:toaddr=127.0.0.2
 
 
 
2.5 centos7 firewalld 更改配置文件
 
两个路径/etc/firewalld/和/usr/lib/firewalld
系统使用的是/etc/firewalld下面的配置文件
在/etc/firewalld/zones下面只有一个public.xml,如果给另外一个zone做一些改动,并永久保存,那么会自动生成对应的配置文件
比如,给work zone增加一个端口
firewall-cmd --permanent --zone=work --add-port=1000/tcp
此时就会生成一个work.xml配置文件
需求: 修改ftp的端口,默认ftp端口是21,需要改为1121
cp /usr/lib/firewalld/services/ftp.xml /etc/firewalld/services/
vi /etc/firewalld/services/ftp.xml   //把21改为1121
vi /etc/firewalld/zones/work.xml  //work为默认zone,所以要编辑这个,增加一行 <service name="ftp"/>
firewall-cmd --reload  //重新加载

Centos7新功能的更多相关文章

  1. 浅谈测试rhel7新功能时的感受及遇到的问题【转载】

    半夜起来看世界杯,没啥激情,但是又怕错误意大利和英格兰的比赛,就看了rhel7 相关新功能的介绍. rhel7的下载地址: https://access.redhat.com/site/downloa ...

  2. 从淘宝 UWP 的新功能 -- 比较页面来谈谈 UWP 的窗口多开功能

    前言 之前在 剁手党也有春天 -- 淘宝 UWP ”比较“功能诞生记 这篇随笔中介绍了一下 UWP 淘宝的“比较”新功能呱呱坠地的过程.在鲜活的文字背后,其实都是程序员不眠不休的血泪史(有血有泪有史) ...

  3. Sql Server 2016新功能之 Row-Level Security

    Sql Server 2016 有一个新功能叫 Row-Level Security ,大概意思是行版本的安全策略(原来我是个英语渣_(:з」∠)_) 直接上例子.这个功能相当通过对表添加一个函数作为 ...

  4. What's new in Windows 10 Enterprise with Microsoft Edge.(Windows 10 新功能)

    What's new in Windows 10 Enterprise with Microsoft Edge --带有Edge浏览器的Windows 10 企业版的新功能 本文摘录自公司群发邮件, ...

  5. MySQL 5.7 Replication 相关新功能说明

    背景: MySQL5.7在主从复制上面相对之前版本多了一些新特性,包括多源复制.基于组提交的并行复制.在线修改Replication Filter.GTID增强.半同步复制增强等.因为都是和复制相关, ...

  6. SQL Server2016 新功能实时查询统计信息

    SQL Server2016 新功能实时查询统计信息 很多时候有这样的场景,开发抱怨DBA没有调优好数据库,DBA抱怨开发写的程序代码差,因此,DBA和开发都成为了死对头,无法真正排查问题. DBA只 ...

  7. 一个新人如何学习在大型系统中添加新功能和Debug

    文章背景: 今年七月份正式入职,公司主营ERP软件,楼主所在的组主要负责二次开发,使用的语言是Java. 什么叫二次开发呢?ERP软件的客户都是企业.而这些企业之间的情况都有所不同,一套标准版本的企业 ...

  8. SQL Server 2014新功能PPT

        本篇文章是我在公司内部分享SQL Server 2014新功能的PPT,在本PPT中我详细描述了SQL Server除了BI方面的新功能,以及提供了大量的测试.希望对大家有帮助.     请点 ...

  9. 【开源】OSharp3.0框架解说系列:新版本说明及新功能规划预览

    OSharp是什么? OSharp是个快速开发框架,但不是一个大而全的包罗万象的框架,严格的说,OSharp中什么都没有实现.与其他大而全的框架最大的不同点,就是OSharp只做抽象封装,不做实现.依 ...

随机推荐

  1. HTML meta refresh 刷新与跳转(重定向)页面

    下面为各位整理了一些HTML meta refresh 刷新与跳转(重定向)页面的例子吧,后面本站长自己也补充了一些js页面刷新与跳转例子吧. refresh 属性值  --  刷新与跳转(重定向)页 ...

  2. OKMX6Q在ltib生成的rootfs基础上制作带QT库的根文件系统

    ltib每次执行后会在其目录下生成rootfs目录,并以其为基础生成rootfs.ext2.gz文件,而litb自带的QT库又太老,所以想到按照飞凌的<OKMX6X-S2-Qt4.8.5移植手册 ...

  3. sqlite3使用事务处理[zz]

    <!-- /* Font Definitions */ @font-face {font-family:宋体; panose-1:2 1 6 0 3 1 1 1 1 1; mso-font-al ...

  4. Python系列之入门篇——MYSQL

    Python系列之入门篇--MYSQL 简介 python提供了两种mysql api, 一是MySQL-python(不支持python3),二是PyMYSQL(支持python2和python3) ...

  5. Hadoop集群的JobHistoryServer详解(转载)

    Hadoop自带了一个历史服务器,可以通过历史服务器查看已经运行完的Mapreduce作业记录,比如用了多少个Map.用了多少个Reduce.作业提交时间.作业启动时间.作业完成时间等信息.默认情况下 ...

  6. MySQL时间差返回月个数

    select PERIOD_DIFF(date_format(now(),'%Y%m'),date_format('2010-11-30','%Y%m')) 1. MySQL 为日期增加一个时间间隔: ...

  7. Hadoop问题:apt-get install docker-engine -> Depends: init-system-helpers (>= 1.18~) but 1.14 is to be installed

    问题描述:$ apt-get install docker-engine -> Depends: init-system-helpers (>= 1.18~) but 1.14 is to ...

  8. Oracle问题之ORA-12560TNS:协议适配器错误

    Oracle问题之ORA-12560TNS:协议适配器错误 一.造成ORA-12560: TNS: 协议适配器错误的问题的原因有三个: 1.监听服务没有起起来.windows平台个一如下操作:开始-- ...

  9. JavaScript对象的valueOf()方法

    js对象中的valueOf()方法和toString()方法非常类似,但是,当需要返回对象的原始值而非字符串的时候才调用它,尤其是转换为数字的时候.如果在需要使用原始值的上下文中使用了对象,JavaS ...

  10. C# 获取ListView中选中行中对应的列数据

    C# 获取ListView中选中行中对应的列数据 ) { ListView.SelectedIndexCollection c = MediaList.SelectedIndices; ]].SubI ...