Linux云计算 |【第一阶段】ENGINEER-DAY5

要内容:

SELinux、系统故障修复、HTTPD/FTP服务搭建、防火墙策略管理、服务管理

一、SELinux安全制度

SELinux(Security-Enhanced Linux),美国NSA国家安全局主导开发,一套增强Linux系统安全的强制访问控制体系,集成到Linux内核(2.6及以上)中运行,RHEL7基于SELinux体系针对用户、进程、目录和文件提供了预设的保护策略及管理工具;

  • [ Permissives ] 宽松
  • [ Enforcing ]  强制
  • [ Disabled ]  彻底禁用,丧失100%

注意:任何模式变成disabled模式,都要经历重启系统

1)SELinux切换模式:

  • 查看当前运行模式:getenforce
  • 临时切换运行模式:setenforce 1|0     (1代表:Enforcing,0代表Permissive)

配置文件:/etc/selinux/config      //影响下一次开机,重启生效(类似/etc/hostname)

例如:

[root@svr7 ~]# setenforce 1     //临时切换运行模式
[root@svr7 ~]# getenforce       //查看当前运行模式
Enforcing
[root@svr7 ~]# setenforce 0
[root@svr7 ~]# getenforce
Permissive

例如:

[root@svr7 ~]# vim /etc/selinux/config    //修改配置文件
[root@svr7 ~]# cat /etc/selinux/config
# This file controls the state of SELinux on the system.
# 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.
SELINUX=permissive    //修改默认区域
# SELINUXTYPE= can take one of three two values:
#     targeted - Targeted processes are protected,
#     minimum - Modification of targeted policy. Only selected processes are protected.
#     mls - Multi Level Security protection.
SELINUXTYPE=targeted

二、构建Web服务

Web服务提供一个页面内容的服务

  • 提供Web服务的软件:Httpd、Nginx(支持并发访问量优秀)、Tomcat(Java)
  • Http协议:超文本传输协议(httpd,d表示:daemon进程)
  • Httpd默认存放页面路径:/var/www/html/    //安装httpd软件包自动生成路径
  • 默认索引页面文件: index.html

1)运行提供web服务程序

提前检查软件包

[root@svr7 ~]# yum -y install httpd      //安装httpd软件包
[root@svr7 ~]# rpm -q httpd
httpd-2.4.6-80.el7.centos.x86_64[root@pc207 ~]# curl http://192.168.4.7   //不运行执行程序则报错
curl: (7) Failed connect to 192.168.4.7:80; 拒绝连接
[root@svr7 ~]# which httpd    //服务安装完软件包后要运行程序
/usr/sbin/httpd
[root@svr7 ~]# /usr/sbin/httpd     //绝对路径运行程序[root@svr7 ~]# vim /var/www/html/index.html    //编写页面文件
[root@svr7 ~]# cat /var/www/html/index.html
<h1> hello world       //<h1>:标题字体
[root@svr7 ~]# ls /var/www/html/
index.html
[root@svr7 ~]# curl http://192.168.4.7
<h1> hello world

使用火狐浏览器打开:# firefox http://192.168.4.7


补充:Curl命令

Curl是常用的命令行工具,用来请求 Web 服务器。它的名字就是客户端(client)的 URL 工具的意思(支持HTTP、HTTPS、FTP、FTPS、DICT、TELNET、LDAP、FILE等协议)

作用:支持文件上传和下载,所以是综合传输工具

格式:curl [选项...]

常用选项:

  • [-l]  只获得对方的响应首部信息
  • [-v]  显示一次HTTP请求的通信过程

三、构建FTP服务

FTP服务:文本传输协议,传输内容

实现FTP服务功能的软件:vsftpd

默认共享数据的主目录:/var/ftp/

1)运行提供FTP服务程序

提前检查软件包

[root@svr7 ~]# yum -y install vsftpd    //安装vsftpd软件包
[root@svr7 ~]# rpm -q vsftpd
vsftpd-3.0.2-22.el7.x86_64[root@svr7 ~]# curl ftp://192.168.4.7     //不运行执行程序则报错
curl: (7) Failed connect to 192.168.4.7:21; 拒绝连接
[root@svr7 ~]# which vsftpd
/usr/sbin/vsftpd
[root@svr7 ~]# /usr/sbin/vsftpd      //绝对路径运行程序[root@svr7 ~]# ls /var/ftp/     //查看目录内容
pub
[root@svr7 ~]# touch /var/ftp/1.txt      //创建文件
[root@svr7 ~]# curl ftp://192.168.4.7
-rw-r--r--    1 0        0               0 Mar 12 03:30 1.txt
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub

四、Firewalld防火墙策略管理

作用:隔离,严格按照策略规则过滤入站、放行出站

防火墙类型:硬件防火墙(Huawei E800)、软件防火墙(360、卡巴斯基)

系统服务:firewalld    //开机自启

管理工具:firewall-cmd、firewall-config(图形工具)

1、预设安全区域

根据所在的网络场所区分,预设保护规则集

  • [ public ]  仅允许访问本机的sshd、dhcp、ping等少数几个服务
  • [ trusted ]  允许任何访问
  • [ block ]  拒绝任何来访请求。明确拒绝并回应
  • [ drop ]  丢弃任何来访的数据包,不给任何回应

配置规则的位置:

  1. runtime)  运行时
  2. permanent)  永久

2、查看防火墙规则列表

列表查看操作命令:

  • 命令:firewall-cmd --list-all [--zone=区域名] //查看当前区域规则信息
  • 命令:firewall-cmd --list-all-zones //查看所有区域规则信息
  • 命令:firewall-cmd --get-zones   //查看防火墙有哪些区域
  • 命令:firewall-cmd --get-services   //查看防火墙有哪些服务
  • 命令:firewall-cmd --get-default-zone   //查看当前默认区域

例如: 

[root@svr7 ~]# firewall-cmd --list-all     //查看当前区域规则信息
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:

例如:

[root@svr7 ~]# firewall-cmd --list-all-zones      //查看所有区域规则信息
blocktarget: %%REJECT%%icmp-block-inversion: nointerfaces:sources:services:ports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:dmztarget: defaulticmp-block-inversion: nointerfaces:sources:services: sshports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:droptarget: DROPicmp-block-inversion: nointerfaces:sources:services:ports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:externaltarget: defaulticmp-block-inversion: nointerfaces:sources:services: sshports:protocols:masquerade: yesforward-ports:source-ports:icmp-blocks:rich rules:hometarget: defaulticmp-block-inversion: nointerfaces:sources:services: ssh mdns samba-client dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:internaltarget: defaulticmp-block-inversion: nointerfaces:sources:services: ssh mdns samba-client dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:trustedtarget: ACCEPTicmp-block-inversion: nointerfaces:sources:services:ports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:worktarget: defaulticmp-block-inversion: nointerfaces:sources:services: ssh dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:

例如:

[root@svr7 ~]# firewall-cmd --get-zones      //查看防火墙有哪些区域
block dmz drop external home internal public trusted work

例如:

[root@svr7 ~]# firewall-cmd --get-services    //查看防火墙有哪些服务
RH-Satellite-6 amanda-client amanda-k5-client bacula bacula-client bitcoin bitcoin-rpc bitcoin-testnet bitcoin-testnet-rpc ceph ceph-mon cfengine condor-collector ctdb dhcp dhcpv6 dhcpv6-client dns docker-registry dropbox-lansync elasticsearch freeipa-ldap freeipa-ldaps freeipa-replication freeipa-trust ftp ganglia-client ganglia-master high-availability http https imap
imaps ipp ipp-client ipsec iscsi-target kadmin kerberos kibana klogin kpasswd kshell ldap ldaps libvirt libvirt-tls managesieve mdns mosh mountd ms-wbt mssql mysql nfs nfs3 

例如:

[root@svr7 ~]# firewall-cmd --get-default-zone     //查看当前默认区域
public

3、配置防火墙策略

默认区域为public,限制较严格(对于开放式环境,建议将默认区域修改为trusted)

针对(运行时 / 永久)配置策略规则时,运行时为临时操作,永久需添加--permanent写入防火墙配置文件,写入后需要配合--reload重新加载配置文件或reboot重启才能生效

防火墙判定原则:根据客户端请求的来源IP地址并查看防火墙区域规则哪个区域有该源IP地址规则,满足规则要求则进入该区域,否则进入默认区域(默认情况下为public)

配置防火墙区域命令:

  • 命令:firewall-cmd --set-default-zone=区域名

配置防火墙规则命令(运行时、永久):

  • 命令:firewall-cmd --zone=区域名 --add-service=服务名   //运行时-添加
  • 命令:firewall-cmd --permanent --zone=区域名 --add-source=网段/IP地址 //永久-限制
  • 命令:firewall-cmd --permanent --zone=区域名 --add-service=服务名  //永久-添加
  • 命令:firewall-cmd --permanent --zone=区域名 --remove-service=服务名  //永久删除

注意:permanent只用在防火墙规则,对设置默认区域无效,默认区域设置是永久生效

重载防火墙配置文件命令:

  • 命令:firewall-cmd --reload    //重载防火墙永久策略,才能生效

注意:重载防火墙永久策略,临时策略将清空


① 配置防火墙默认区域(指定默认的安全区域)

命令:firewall-cmd --set-default-zone=区域名

例如:修改主机1防火墙默认区域为trusted,主机2实现http和ftp访问

主机2:
[root@pc207 ~]# curl http://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由    //防火墙策略限制
[root@pc207 ~]# curl ftp://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:21; 没有到主机的路由主机1:配置默认区域
[root@svr7 ~]# firewall-cmd --get-default-zone     //查看防火墙默认区域
public
[root@svr7 ~]# firewall-cmd --set-default-zone=trusted   //修改防火墙默认区域
success
[root@svr7 ~]# firewall-cmd --get-default-zone
trusted主机2:
[root@pc207 ~]# curl http://192.168.4.7   //验证http服务
<h1> hello world
[root@pc207 ~]# curl ftp://192.168.4.7    //验证ftp服务
-rw-r--r--    1 0        0               0 Mar 12 03:30 1.txt
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub

② 配置防火墙规则(默认区域开通服务)< 临时生效 >

命令:firewall-cmd --zone=区域名 --add-service=服务名

例如:修改主机1防火墙默认区域public,添加服务,主机2实现http和ftp访问

主机1:
[root@svr7 ~]# firewall-cmd --set-default-zone=public
success
[root@svr7 ~]# firewall-cmd --list-all --zone=public
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-client        //允许服务中未有添加http和ftpports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules
主机2:
[root@pc207 ~]# curl http://192.168.4.7     //访问失败
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由   //防火墙策略限制主机1:
[root@svr7 ~]# firewall-cmd --zone=public --add-service=http   //添加服务http
success
[root@svr7 ~]# firewall-cmd --zone=public --add-service=ftp   //添加服务ftp
success
[root@svr7 ~]# firewall-cmd --list-all --zone=public
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-client http ftp    //允许服务中已添加http和ftpports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:
主机2:
[root@pc207 ~]# curl http://192.168.4.7     //访问成功
<h1> hello world
[root@pc207 ~]# curl ftp://192.168.4.7      //访问成功
-rw-r--r--    1 0        0               0 Mar 12 03:30 1.txt
drwxr-xr-x    2 0        0               6 Aug 03  2017 pub

③ 配置防火墙规则(永久配置-添加)< 永久生效 >

命令:firewall-cmd --permanent --zone=区域名 --add-service=服务名

例如:修改永久防火墙规则配置,并重新加载永久防火墙策略

[root@svr7 ~]# firewall-cmd --reload    //重载防火墙永久策略,临时策略将清空
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:
[root@svr7 ~]# firewall-cmd --permanent --zone=public --add-service=http
success
[root@svr7 ~]# firewall-cmd --permanent --zone=public --add-service=ftp
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-clientports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:
[root@svr7 ~]# firewall-cmd --reload    //重载防火墙永久策略,才能生效
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-client http ftpports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:

④ 配置防火墙规则(永久配置-删除)< 永久生效 >

命令:firewall-cmd --permanent --zone=区域名 --remove-service=服务名

例如:永久修改并删除ftp服务

[root@svr7 ~]# firewall-cmd --permanent --zone=public --remove-service=ftp
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-client http ftpports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:
[root@svr7 ~]# firewall-cmd --reload
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)target: defaulticmp-block-inversion: nointerfaces: eth0sources:services: ssh dhcpv6-client httpports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:

⑤ 配置防火墙规则(添加限制网段)

命令:firewall-cmd [--permanent] --zone=区域名 --add-source=网段/IP地址

例如:修改主机1防火墙默认区域规则,拒绝主机2网段、服务访问本机

主机1:
[root@svr7 ~]# firewall-cmd --zone=block --add-source=192.168.4.0/24
success
=[root@svr7 ~]# firewall-cmd --zone=block --list-all
block (active)target: %%REJECT%%icmp-block-inversion: nointerfaces:sources: 192.168.4.0/24services:ports:protocols:masquerade: noforward-ports:source-ports:icmp-blocks:rich rules:主机2:
[root@pc207 ~]# curl ftp://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:21; 没有到主机的路由
[root@pc207 ~]# curl http://192.168.4.7
curl: (7) Failed connect to 192.168.4.7:80; 没有到主机的路由
[root@pc207 ~]# ssh root@192.168.4.7
ssh: connect to host 192.168.4.7 port 22: No route to host
[root@pc207 ~]# ping 192.168.4.7
PING 192.168.4.7 (192.168.4.7) 56(84) bytes of data.
From 192.168.4.7 icmp_seq=1 Destination Host Prohibited
From 192.168.4.7 icmp_seq=2 Destination Host Prohibited
^C
--- 192.168.4.7 ping statistics ---
2 packets transmitted, 0 received, +2 errors, 100% packet loss, time 1000ms

常见报错:已经是block区域报错

[root@svr7 ~]# firewall-cmd --set-default-zone=block
Warning: ZONE_ALREADY_SET: block

常见报错:--get不与--list-all共用

[root@svr7 ~]# firewall-cmd --get-default-zone --list-all
usage: see firewall-cmd man page
Can't use stand-alone options with other options.

常见报错:规则冲突

[root@svr7 ~]# firewall-cmd --zone=block --add-source=192.168.4.0/24
success
[root@svr7 ~]# firewall-cmd --zone=trusted --add-source=192.168.4.0/24
Error: ZONE_CONFLICT: '192.168.4.0/24' already bound to a zone

五、系统故障修复排除

1)遗忘root用户密码

故障现象:无法执行需要root权限的管理操作,若没有其他可用账号,将无法登录系统;

解决思路:引导进入修复模式,然后重设密码;

步骤1:重启系统,进入recovery恢复模式

  • 按e键,找到linux16行,末尾添加rd.break console=tty0
  • 按ctrl+x启动

步骤2:以可写方式重新挂载/sysroot,并切换到此环境

Switch_root# mount -o remount,rw /sysroot
Switch_root# chroot /sysroot

步骤3:将root用户的密码设置为redhat

echo redhat | passwd --stdin root

步骤4:重设SELinux安全标签

touch /.autorelabel

步骤5:先后执行exit、reboot完成恢复

exit
reboot

2)系统文件损坏故障

- 故障现象:/etc/fstab文件内容有误,系统无法正常开机

- 解决思路:引导进入恢复模式,然后进行修复

六、Systemd服务管理

1)init程序的作用(即初始化程序)

Linux系统和服务管理器systemd,是内核引导之后加载的第一个初始化进程(PID=1),负责掌控整个Linux的运行/服务资源组合;

传统的init程序风格:

  • System v:顺序加载(RHEL5系列采用)
  • Upstart:事件触发(RHEL6系列采用)

2)Systemd服务管理器(一个更高效的系统&服务管理器)

开机服务并行启动,各系统服务间的精确依赖

配置目录:/etc/systemd/system/

服务目录:/lib/systemd/system/

主要管理工具:systemctl

3)列出服务常用命令

列出活动的系统服务

  • 命令:systemctl -t service

列出所有系统服务(包括不活动的)

  • 命令:systemctl -t service --all //列出所有的服务

4)对于服务的管理(与手动启动有冲突)

  • 命令:systemctl restart 服务名   //重起服务
  • 命令:systemctl start 服务名      //开启服务
  • 命令:systemctl stop 服务名      //停止服务
  • 命令:systemctl status 服务名    //查看服务当前的状态
  • 命令:systemctl enable 服务名    //设置服务开机自启动
  • 命令:systemctl disable 服务名    //设置服务禁止开机自启动
  • 命令:systemctl is-enabled 服务名   //查看服务是否开机自启
  • 命令:systemctl is-active 服务名    //查看服务是否开启
  • 命令:systemctl daemon-reload    //重新加载所有服务配置文件

例如:

[root@svr7 ~]# yum -y install httpd    //安装软件包
[root@svr7 ~]# rpm -q httpd
httpd-2.4.6-80.el7.centos.x86_64
[root@svr7 ~]# > /etc/resolv.conf    //清除dns文件内容
[root@svr7 ~]# /usr/sbin/httpd     //手动启动httpd程序
[root@svr7 ~]# pgrep -lx httpd    //查看进程信息
3387 httpd
[root@svr7 ~]# killall httpd      //杀死手动启动的httpd,否则会与服务管理器冲突[root@svr7 ~]# systemctl restart httpd     //重启httpd服务
[root@svr7 ~]# pgrep -lx httpd
3420 httpd
3430 httpd
3431 httpd
3432 httpd
3433 httpd
3434 httpd
[root@svr7 ~]# systemctl status httpd     //查看服务httpd状态
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: active (running) since 一 2021-03-15 09:56:17 CST; 36s agoDocs: man:httpd(8)man:apachectl(8)Main PID: 3639 (httpd)Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"Tasks: 6CGroup: /system.slice/httpd.service├─3639 /usr/sbin/httpd -DFOREGROUND├─3640 /usr/sbin/httpd -DFOREGROUND├─3641 /usr/sbin/httpd -DFOREGROUND├─3642 /usr/sbin/httpd -DFOREGROUND├─3643 /usr/sbin/httpd -DFOREGROUND└─3644 /usr/sbin/httpd -DFOREGROUND
3月 15 09:56:17 svr7.tedu.cn systemd[1]: Starting The Apache HTTP Server...
3月 15 09:56:17 svr7.tedu.cn systemd[1]: Started The Apache HTTP Server.[root@svr7 ~]# systemctl enable httpd     //设置httpd开机自启动
Created symlink from /etc/systemd/system/multi-user.target.wants/httpd.service to /usr/lib/systemd/system/httpd.service.
[root@svr7 ~]# systemctl is-enabled httpd     //查看httpd是否是开机自启动
enabled[root@svr7 ~]# systemctl disable httpd    //关闭httpd开机自启动
Removed symlink /etc/systemd/system/multi-user.target.wants/httpd.service.
[root@svr7 ~]# systemctl is-enabled httpd   //查看httpd是否是开机自启动
disabled[root@svr7 ~]# systemctl stop httpd   //停止服务
[root@svr7 ~]# systemctl status httpd
● httpd.service - The Apache HTTP ServerLoaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)Active: inactive (dead)Docs: man:httpd(8)man:apachectl(8)
3月 15 09:53:49 svr7.tedu.cn systemd[1]: Starting The Apache HTTP Server...
3月 15 09:56:17 svr7.tedu.cn systemd[1]: httpd.service stop-sigterm timed out. Killing.
3月 15 09:56:17 svr7.tedu.cn systemd[1]: httpd.service: main process exited, code=killed, status=9/KILL
3月 15 09:56:17 svr7.tedu.cn systemd[1]: Unit httpd.service entered failed state.
3月 15 09:56:17 svr7.tedu.cn systemd[1]: httpd.service failed.
3月 15 09:56:17 svr7.tedu.cn systemd[1]: Starting The Apache HTTP Server...
3月 15 09:56:17 svr7.tedu.cn systemd[1]: Started The Apache HTTP Server.
3月 15 10:19:24 svr7.tedu.cn systemd[1]: Stopping The Apache HTTP Server...
3月 15 10:19:25 svr7.tedu.cn systemd[1]: Stopped The Apache HTTP Server.
Hint: Some lines were ellipsized, use -l to show in full.

七、管理运行级别

1)RHEL6:运行级别,共300个服务

  • 0:关机,0个服务(类似poweroff)
  • 1:单用户模式(基本功能的实现,破解Linux密码),50个服务
  • 2:多用户字符界面(不支持网络),80个服务
  • 3:多用户字符界面(支持网络)服务器默认运行级别,100个服务
  • 4:暂未定义,0个服务
  • 5:图形界面(功能丰富,但占用资源最高),300个服务
  • 6:重起,0个服务(类似reboot)

切换运行级别:init 数字

注意:5级别,前提是已安装图形界面工具的软件包;

注意:RHEL8的8.5版本将取消运行级别;

2)RHEL7:运行模式(运行级别)

  • 字符模式:multi-user.target(类似RHEL6运行级别3)
  • 图形模式:graphical.target(类似RHEL6运行级别5)

3)切换运行模式

① 列出可用运行模式

- 命令:systemctl -t target

② 当前直接切换到字符模式 (影响当前)

- 命令:systemctl isolate multi-user.target //相当于原来的init 3

③ 当前直接切换到图形模式(影响当前)

- 命令:systemctl isolate graphical.target //相当于原来的init 5

4)设置默认运行模式

① 查看默认级别

- 命令:systemctl get-default

② 设置默认级别

- 命令:systemctl set-default multi-user.target

- 命令:systemctl set-default graphical.target

例如:

[root@svr7 ~]# systemctl -t target     //列出可运行模式
UNIT                   LOAD   ACTIVE SUB    DESCRIPTION
basic.target           loaded active active Basic System
cryptsetup.target      loaded active active Local Encrypted Volumes
getty-pre.target       loaded active active Login Prompts (Pre)
getty.target           loaded active active Login Prompts
graphical.target       loaded active active Graphical Interface
local-fs-pre.target    loaded active active Local File Systems (Pre)
local-fs.target        loaded active active Local File Systems
multi-user.target      loaded active active Multi-User System
network-online.target  loaded active active Network is Online
network-pre.target     loaded active active Network (Pre)
network.target         loaded active active Network
nfs-client.target      loaded active active NFS client services
nss-user-lookup.target loaded active active User and Group Name Lookups
paths.target           loaded active active Paths
remote-fs-pre.target   loaded active active Remote File Systems (Pre)
remote-fs.target       loaded active active Remote File Systems
rpc_pipefs.target      loaded active active rpc_pipefs.target
slices.target          loaded active active Slices
sockets.target         loaded active active Sockets
sound.target           loaded active active Sound Card
swap.target            loaded active active Swap
sysinit.target         loaded active active System Initialization
timers.target          loaded active active Timers
LOAD   = Reflects whether the unit definition was properly loaded.
ACTIVE = The high-level unit activation state, i.e. generalization of SUB.
SUB    = The low-level unit activation state, values depend on unit type.
23 loaded units listed. Pass --all to see loaded but inactive units, too.
To show all installed unit files use 'systemctl list-unit-files'.

例如:切换运行模式为字符模式

[root@svr7 ~]# systemctl isolate multi-user.target

如图所示:

例如:切换运行模式为图形模式

[root@svr7 ~]# systemctl isolate graphical.target

如图所示:

例如:

[root@svr7 ~]# systemctl set-default multi-user.target    //设置默认运行模式
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/multi-user.target.
[root@svr7 ~]# systemctl get-default 
multi-user.target
[root@svr7 /]# reboot     //重启验证

例如:设置永久策略,每次开机自动进入graphical.target字符模式

[root@svr7 ~]# systemctl isolate graphical.target
[root@svr7 ~]# systemctl set-default graphical.target    //设置默认运行模式
Removed symlink /etc/systemd/system/default.target.
Created symlink from /etc/systemd/system/default.target to /usr/lib/systemd/system/graphical.target
[root@svr7 ~]# systemctl get-default 
graphical.target
[root@svr7 /]# reboot     //重启验证

补充:ssh登录提示

记录用户登录记录/root/.sshr/known_hosts,同一用户登录,记录不一样会报错

小结:

本篇章节为 【第一阶段】ENGINEER-DAY5 的学习笔记,可以初步了解到 SELinux、系统故障修复、HTTPD/FTP服务搭建、防火墙策略管理、服务管理。除此之外推荐参考相关学习网址:

  • 菜鸟教程 - 学的不仅是技术,更是梦想!

Tip:毕竟两个人的智慧大于一个人的智慧,如果你不理解本章节的内容或需要相关笔记、视频,可私信小安,请不要害羞和回避,可以向他人请教,花点时间直到你真正的理解

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/380188.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

大模型只是轮子,与其闭门重复造轮子,不如深耕场景应用

如何理解李彦宏说的“不要卷模型&#xff0c;要卷应用” 7月4日&#xff0c;2024世界人工智能大会暨人工智能全球治理高级别会议全体会议在上海世博中心举办。在产业发展主论坛上&#xff0c;百度创始人、董事长兼首席执行官李彦宏呼吁&#xff1a;“大家不要卷模型&#xff0…

JavaWeb JavaScript ① JS简介

目录 一、HTML&CSS&JavaScript的作用 二、前后端关联标签——表单标签 1.form标签 2.input标签 3.get/post提交的差异 4.表单项标签 5.布局相关标签 块元素——div 行内元素——span 三、CSS 1.CSS引入方式 方式1 行内式 方式2 内嵌式 方式3 外部样式表 2.CSS选择器 元…

第三届智能机械与人机交互技术学术会议(IHCIT 2024)

【北航主办丨本届SPIE独立出版丨已确认ISSN号】 第三届智能机械与人机交互技术学术会议&#xff08;IHCIT 2024&#xff09; 2024 3rd International Conference on Intelligent Mechanical and Human-Computer Interaction Technology 2024年7月27日----中国杭州&#xff0…

Artix7系列FPGA实现SDI视频编解码,基于GTP高速接口,提供3套工程源码和技术支持

目录 1、前言工程概述免责声明 2、相关方案推荐本博已有的 SDI 编解码方案本方案在Xilinx--Kintex系列FPGA上的应用本方案在Xilinx--Zynq系列FPGA上的应用 3、详细设计方案设计原理框图SDI 输入设备Gv8601a 均衡器GTP 高速接口-->解串与串化SMPTE SD/HD/3G SDI IP核BT1120转…

Python+Flask+MySQL/Sqlite的个人博客系统(前台+后端管理)【附源码,运行简单】

PythonFlaskMySQL/Sqlite的个人博客系统&#xff08;前台后端管理&#xff09;【附源码&#xff0c;运行简单】 总览 1、《个人博客系统》1.1 方案设计说明书设计目标工具列表 2、详细设计2.1 管理员登录2.2 程序主页面2.3 笔记新增界面2.4 文章新增界面2.5 文章/笔记管理界面2…

实战:Eureka的概念作用以及用法详解

概叙 什么是Eureka&#xff1f; Netflix Eureka 是一款由 Netflix 开源的基于 REST 服务的注册中心&#xff0c;用于提供服务发现功能。Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件的一部分&#xff0c;基于 Netflix Eureka 进行了二次封装&#xff0c;主要负责…

C/C++ json库

文章目录 一、介绍1.1 json 介绍 二、C/C json 库选型2.1 选型范围2.2 jsoncpp2.2.2 jsoncpp 编译和交叉编译 2.3 rapidjson2.4 nlohmann/json2.5 sonic-cpp 五、常见问题5.1 jsoncpp 中关于浮点数的控制和中文显示问题5.2 jsoncpp序列化double类型时精度损失问题的解决办法 一…

docker 部署wechatbot-webhook 并获取接口实现微信群图片自动保存到chevereto图库等

功能如图&#xff1a; docker部署 version: "3" services:excalidraw:image: dannicool/docker-wechatbot-webhook:latestcontainer_name: wechatbot-webhookdeploy:resources:limits:cpus: 0.15memory: 500Mreservations:cpus: 0.05memory: 80Mrestart: alwayspor…

「实战应用」如何用DHTMLX将上下文菜单集成到JavaScript甘特图中(三)

DHTMLX Gantt是用于跨浏览器和跨平台应用程序的功能齐全的Gantt图表。可满足项目管理应用程序的所有需求&#xff0c;是最完善的甘特图图表库。 DHTMLX Gantt是一个高度可定制的工具&#xff0c;可以与项目管理应用程序所需的其他功能相补充。在本文中您将学习如何使用自定义上…

React、Vue的password输入框组件,如何关闭自动填充?

有时候我们的表单使用了一个password组件&#xff0c;这时候每次打开新建&#xff0c;都会自动获取浏览器缓存的密码&#xff0c;但是它的上一个input输入框并不是用户名&#xff0c;这时候我们希望我们的表单&#xff0c;每次点开的时候密码是空的&#xff0c;让用户自动输入&…

iMazing 3 换手机后苹果游戏数据还有吗 换iPhone怎么转移游戏数据

当你想要更换手机&#xff0c;无论是选择升级到最新款iPhone&#xff0c;或者换到“经典”旧款iPhone&#xff0c;单机游戏数据的转移总是让人发愁。本文将详细介绍换手机后苹果游戏数据还有吗&#xff0c;以及换iPhone怎么转移游戏数据&#xff0c;确保你能无缝继续你的游戏体…

【体外诊断】ARM/X86+FPGA嵌入式计算机在免疫分析设备中的应用

体外诊断 信迈提供基于Intel平台、AMD平台、NXP平台的核心板、2.5寸主板、Mini-ITX主板、4寸主板、PICO-ITX主板&#xff0c;以及嵌入式准系统等计算机硬件。产品支持GAHDMI等独立双显&#xff0c;提供丰富串口、USB、GPIO、PCIe扩展接口等I/O接口&#xff0c;扩展性强&#xf…

源码搭建国内微短剧系统(小程序+APP)短剧配置抖音教程

短剧不知道如何配置抖音小程序&#xff1f;翻阅很多资料帮大家整理了一份非常详细的操作文档&#xff0c;给大家介绍源码搭建的短剧系统是如何一步一步配置抖音小程序的。 顺便推荐一下他们的开源地址&#xff1a;https://gitee.com/nymaite_com_2878868888/tjguonei 文档说明…

# Redis 入门到精通(八)-- 服务器配置-redis.conf配置与高级数据类型

Redis 入门到精通&#xff08;八&#xff09;-- 服务器配置-redis.conf配置与高级数据类型 一、redis 服务器配置–redis.conf 配置 1、服务器端设定 1&#xff09;设置服务器以守护进程的方式运行&#xff1a; daemonize yes|no 2&#xff09;绑定主机地址&#xff1a; bin…

NVIDIA全面转向开源GPU内核模块

每周跟踪AI热点新闻动向和震撼发展 想要探索生成式人工智能的前沿进展吗&#xff1f;订阅我们的简报&#xff0c;深入解析最新的技术突破、实际应用案例和未来的趋势。与全球数同行一同&#xff0c;从行业内部的深度分析和实用指南中受益。不要错过这个机会&#xff0c;成为AI领…

199.二叉树的右视图(DFS)

给定一个二叉树的根节点 root&#xff0c;想象自己站在它的右侧&#xff0c;按照从顶部到底部的顺序&#xff0c;返回从右侧所能看到的节点值。 示例 1: 输入: [1,2,3,null,5,null,4] 输出: [1,3,4] 示例 2: 输入: [1,null,3] 输出: [1,3] 示例 3: 输入: [] 输出: [] 解题…

“生日悖论”简析——公式计算、代码模拟

“生日悖论”共享生日概率&#xff0c;通项公式计算&#xff0c;代码模拟计算。 (笔记模板由python脚本于2024年07月17日 18:16:40创建&#xff0c;本篇笔记适合会基础编程的coder翻阅) 【学习的细节是欢悦的历程】 Python 官网&#xff1a;https://www.python.org/ Free&…

ranger审计日志对接CDH solr

作者&#xff1a;耀灵 一、准备条件 1、已安装完毕ranger-admin 2、已在CDH上部署solr&#xff08;注意在安装solr时更改下solr在zk上的节点信息&#xff09; 二、更改相关配置 1、修改ranger-2.1.0-admin/contrib/solr_for_audit_setup/install.properties SOLR_USERsolr …

FreeRTOS的中断管理、临界资源保护、任务调度

什么是中断&#xff1f; 简介&#xff1a;让CPU打断正常运行的程序&#xff0c;转而去处理紧急的事件&#xff08;程序&#xff09;&#xff0c;就叫中断。 中断优先级分组设置 ARM Cortex-M 使用了 8 位宽的寄存器来配置中断的优先等级&#xff0c;这个寄存器就是中断优先级…

使用 OpenCV 和 YOLO 模型进行实时目标检测并在视频流中显示检测结果

文章目录 Github官网简介视频帧推理视频设备ID安装依赖 检测示例分类示例姿势估计 Github https://github.com/ultralytics/ultralytics 官网 https://docs.ultralytics.com/zhhttps://docs.ultralytics.com/zh/quickstart/ 简介 Ultralytics 是一个软件公司&#xff0c;专…