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

news2024/11/13 9:28:01

要内容:

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: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:

例如:

[root@svr7 ~]# firewall-cmd --list-all-zones      //查看所有区域规则信息
block
  target: %%REJECT%%
  icmp-block-inversion: no
  interfaces:
  sources:
  services:
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
dmz
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
drop
  target: DROP
  icmp-block-inversion: no
  interfaces:
  sources:
  services:
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
external
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh
  ports:
  protocols:
  masquerade: yes
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
home
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh mdns samba-client dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
internal
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh mdns samba-client dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
trusted
  target: ACCEPT
  icmp-block-inversion: no
  interfaces:
  sources:
  services:
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
 
work
  target: default
  icmp-block-inversion: no
  interfaces:
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-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: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client        //允许服务中未有添加http和ftp
  ports:
  protocols:
  masquerade: no
  forward-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: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client http ftp    //允许服务中已添加http和ftp
  ports:
  protocols:
  masquerade: no
  forward-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: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-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: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@svr7 ~]# firewall-cmd --reload    //重载防火墙永久策略,才能生效
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client http ftp
  ports:
  protocols:
  masquerade: no
  forward-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: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client http ftp
  ports:
  protocols:
  masquerade: no
  forward-ports:
  source-ports:
  icmp-blocks:
  rich rules:
[root@svr7 ~]# firewall-cmd --reload
success
[root@svr7 ~]# firewall-cmd --zone=public --list-all
public (active)
  target: default
  icmp-block-inversion: no
  interfaces: eth0
  sources:
  services: ssh dhcpv6-client http
  ports:
  protocols:
  masquerade: no
  forward-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: no
  interfaces:
  sources: 192.168.4.0/24
  services:
  ports:
  protocols:
  masquerade: no
  forward-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 Server
   Loaded: loaded (/usr/lib/systemd/system/httpd.service; disabled; vendor preset: disabled)
   Active: active (running) since 一 2021-03-15 09:56:17 CST; 36s ago
     Docs: man:httpd(8)
           man:apachectl(8)
 Main PID: 3639 (httpd)
   Status: "Total requests: 0; Current requests/sec: 0; Current traffic:   0 B/sec"
    Tasks: 6
   CGroup: /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 Server
   Loaded: 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.coloradmin.cn/o/1937173.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

6. dolphinscheduler-3.0.0伪集群部署

环境说明&#xff1a; 主机名&#xff1a;cmc01为例 操作系统&#xff1a;centos7 安装部署软件版本部署方式centos7zookeeperzookeeper-3.4.10伪分布式hadoophadoop-3.1.3伪分布式hivehive-3.1.3-bin伪分布式clickhouse21.11.10.1-2单节点多实例dolphinscheduler3.0.0单节…

【JavaScript 算法】拓扑排序:有向无环图的应用

&#x1f525; 个人主页&#xff1a;空白诗 文章目录 一、算法原理二、算法实现方法一&#xff1a;Kahn算法方法二&#xff1a;深度优先搜索&#xff08;DFS&#xff09;注释说明&#xff1a; 三、应用场景四、总结 拓扑排序&#xff08;Topological Sorting&#xff09;是一种…

测试数据科学家深度学习基础知识的 45 个问题(以及解决方案)

测试数据科学家深度学习基础知识的 45 个问题(以及解决方案) 一、介绍 早在2009年, 深度学习还只是一个新兴领域。只有少数人认为这是一个富有成效的研究领域。今天,它被用于开发应用程序,这些应用程序在一段时间前被认为是困难或不可能做到的。 语音识别、图像识别、在数…

<Qt> 初识Qt

目录 一、项目文件解析 widget.h main.cpp widget.cpp widget.ui .pro文件 二、QT 实现Hello World程序 &#xff08;一&#xff09;按钮控件 1. 纯代码 2. 图形化 &#xff08;二&#xff09;标签控件 1. 纯代码 2. 图形化 三、内存泄漏问题 四、qdebug()的使用…

MySQL(事务、索引)MyBatis

目录 事务 概述 四大特性&#xff08;ACID&#xff09; 索引 结构 语法 MyBatis 数据库连接池 lombok 基本操作--增删改查 根据主键删除 新增 更新 查询&#xff08;根据ID查询&#xff09; 查询&#xff08;条件查询&#xff09; XML映射文件 动态SQL 动态条…

Web安全:未验证的重定向和转发.

Web安全&#xff1a;未验证的重定向和转发. 未验证的重定向和转发漏洞是一种常见的Web安全漏洞&#xff0c;它允许攻击者将用户重定向到一个恶意的URL&#xff0c;而不是预期的安全URL。这种漏洞通常发生在应用程序处理重定向和转发请求时&#xff0c;未能对目标URL进行适当的…

RDMA 高性能架构基本原理与设计方案

在进行本文的学习学习之前&#xff0c;我们先对RDMA是什么做一个简单的科普与认识&#xff1a;一文带你了解什么是RDMA-CSDN博客 目录&#xff1a; 目录&#xff1a; 一、RDMA和传统网络方案的比较 1.1 传统网络方案&#xff1a; 1.1.1 缺点一&#xff1a;以太网卡&#xff0…

单机、集群、分布式服务器比较:

1. 单机服务器的瓶颈&#xff1a; 单机服务器&#xff1a;一台服务器独立运行一个工程所需的全部的业务模块 受限于服务器硬件资源&#xff0c;所承受用户并发量受限&#xff0c;32位linux操作系统最大并发量为两万任一模块的变动和修改&#xff0c;都会导致整个项目代码重新编…

移动端如何离线使用GPT

在移动端离线使用GPT&#xff0c;只需要一个app&#xff1a;H2O AI Personal GPT 是H2OAI上架的一款app&#xff0c;可离线使用&#xff0c;注重数据隐私&#xff0c;所有数据都只存储在本地。对H2OAI感兴趣的伙伴&#xff0c;可移步&#xff1a;https://h2o.ai 该app支持的模…

华为od 100问 持续分享6-入职体检

我是一名软件开发培训机构老师&#xff0c;我的学生已经有上百人通过了华为OD机试&#xff0c;学生们每次考完试&#xff0c;会把题目拿出来一起交流分享。 重要&#xff1a;2024年5月份开始&#xff0c;考的都是OD统一考试&#xff08;D卷&#xff09;&#xff0c;题库已经整…

如何学习Kafka:糙快猛的大数据之路(快速入门到实践)

在大数据开发的世界里,Kafka 无疑是一个不可或缺的重要角色。作为一个分布式流处理平台,它以其高吞吐量、可靠性和可扩展性而闻名。 目录 糙快猛学习法则Kafka 是什么?我的 Kafka 学习故事第一步: 快速上手第二步: 生产和消费消息第三步: 编写简单的生产者和消费者程序 深入Ka…

达梦数据库 DISQL连接数据库与执行SQL、脚本的方法

DISQL连接数据库与执行SQL、脚本的方法 1.DISQL介绍2.DISQL连接数据库的方法2.1 本地连接2.2 远程连接2.3 CONN连接 3.执行SQL、脚本的方法3.1 通过DISQL登录后在字符界面3.2 启动DISQL时运行脚本3.3 进入DISQL后&#xff0c;通过start命令运行脚本3.4 使用EDIT命令编辑脚本 1.…

(02)Unity使用在线AI大模型(调用Python)

目录 一、概要 二、改造Python代码 三、制作Unity场景 一、概要 查看本文需完成&#xff08;01&#xff09;Unity使用在线AI大模型&#xff08;使用百度千帆服务&#xff09;的阅读和实操&#xff0c;本文档接入指南的基础上使用Unity C#调用百度千帆大模型&#xff0c;需要…

【开发踩坑】使用PageHelper工具正常sql后面多无关语句

背景 SQL日志打印出现了脏东西&#xff1a; 本来结束的 where muc.code ?;后面凭空多出了一个 LIMIT语句 ### Cause: com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: You have an error in your SQL syntax; check the manual that corresponds to your …

【Spark On Hive】—— 基于电商数据分析的项目实战

文章目录 Spark On Hive 详解一、项目配置1. 创建工程2. 配置文件3. 工程目录 二、代码实现2.1 Class SparkFactory2.2 Object SparkFactory Spark On Hive 详解 本文基于Spark重构基于Hive的电商数据分析的项目需求&#xff0c;在重构的同时对Spark On Hive的全流程进行详细的…

Unity点击生成节点连线

Unity点击生成节点连线 效果 2.主要代码 Test_Line 控制类 using System.Collections; using System.Collections.Generic; using UnityEngine; using UnityEngine.EventSystems;public class Test_Line : MonoBehaviour {public GameObject qiu_prefab;public List<Game…

基于 CNN(二维卷积Conv2D)+LSTM 实现股票多变量时间序列预测(PyTorch版)

前言 系列专栏:【深度学习&#xff1a;算法项目实战】✨︎ 涉及医疗健康、财经金融、商业零售、食品饮料、运动健身、交通运输、环境科学、社交媒体以及文本和图像处理等诸多领域&#xff0c;讨论了各种复杂的深度神经网络思想&#xff0c;如卷积神经网络、循环神经网络、生成对…

android13读取cpu频率,并调整频率

总纲 android13 rom 开发总纲说明 目录 1.前言 2.频率类型 3.获取cpu可以调节的频率 4.获取当前频率 5.设置频率 6.最后我们写个脚本,来实现,可以通过参数获取所有cpu的频率,以及设置最大最小频率 6.1 获取cpu频率 6.2 设置最大cpu频率 6.3 设置最小 7.彩蛋 1.前…

敏捷开发笔记(第12章节)--接口隔离原则(ISP)

目录 1&#xff1a;PDF上传链接 12.1&#xff1a;接口污染 12.2&#xff1a;分离客户就是分离接口 12.3&#xff1a;接口隔离原则&#xff08;ISP&#xff09; 12.4&#xff1a;类接口与对象接口 12.4.1&#xff1a;使用委托分离接口 12.4.2&#xff1a;使用多重继承分离接口 …

基于JAVA+SpringBoot+Vue+uniApp的校园日常作品商品分享小程序

✌全网粉丝20W,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌ 技术范围&#xff1a;SpringBoot、Vue、SSM、HLMT、Jsp、SpringCloud、Layui、Echarts图表、Nodejs、爬…