当前位置: 首页 > news >正文

Linux系统维护

1. 批量安装部署
2. 初始化配置
3. 禁用Selinux
  • 永久更改 SELinux 配置:
    编辑 SELinux 配置文件:使用文本编辑器打开 /etc/selinux/config 文件:
    在配置文件中,找到 SELINUX=… 的行。将其值更改为以下选项之一:
  •   enforcing:启用 SELinux 并强制执行安全策略。
    
  •   permissive:启用 SELinux 但仅记录违反安全策略的操作,不会阻止它们。
    
  •   disabled:禁用 SELinux。
    
4. 配置YUM源/仓库
vim /etc/yum.repos.d/myrepo.repo
[myrepo]
name=My YUM Repository
baseurl=http://example.com/yum/repo/   # 源的 URL
enabled=1                             # 设置为 1 启用源,设置为 0 禁用源
gpgcheck=1                            # 设置为 1 执行 GPG 检查,设置为 0 不执行检查
gpgkey=http://example.com/yum/RPM-GPG-KEY     # GPG 密钥的 URL
5. 下载安装常用工具包和软件包
[root@localhost ~]# yum -y install vim               //vim文本编辑器
[root@localhost ~]# yum -y install bash-completion        //tab键的软件包,重新登陆才生效
[root@localhost ~]# yum -y install net-tools        //安装网络相关联的软件包(ifconfig)
[root@localhost ~]# yum -y install zip.x86_64     //压缩zip包的软件
[root@localhost ~]# yum -y install unzip.x86_64    //解压zip包的软件
[root@localhost ~]# yum -y install gcc make //安装编译工具
6. SSH登录/用户设置
###登录设置
[root@localhost ~]# vim /etc/ssh/sshd_config
......
UseDNS no   //将注释去除并将UseDNS的值设置为no
......###用户设置
[root@localhost ~]# vim /etc/ssh/sshd_config
......
在文件的末尾添加新行,如果你想允许用户"alice"和"bob"登录,将选项设置为 AllowUsers alice bob
[root@localhost ~]# systemctl restart sshd  //重新启动SSH服务,以使更改生效
7. 注册新用户和删除不必要的用户/组
[root@localhost ~]# cp /etc/passwd /etc/passwdbai      #先备份
[root@localhost ~]# vim /etc/passwd        #编辑用户,在前面加#注释掉
......
#adm:x:3:4:adm:/var/adm:/sbin/nologin
#lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
#sync:x:5:0:sync:/sbin:/bin/sync
#shutdown:x:6:0:shutdown:/sbin:/sbin/shutdown
#halt:x:7:0:halt:/sbin:/sbin/halt
#mail:x:8:12:mail:/var/spool/mail:/sbin/nologin
#operator:x:11:0:operator:/root:/sbin/nologin
#games:x:12:100:games:/usr/games:/sbin/nologin
#ftp:x:14:50:FTP User:/var/ftp:/sbin/nologin   #注释ftp匿名账户
......
[root@localhost ~]# cp /etc/group /etc/groupbai     #先备份
[root@localhost ~]# vim /etc/group        #编辑用户组,在前面加#注释掉
......
#adm:x:4:adm
#lp:x:7:Ip
#uucp:x:14:uucp
#games:x:20:
#dip:x:40:
......
8. 关闭不必要的项目服务
service acpid stop chkconfig acpid off 
#停止服务,取消开机层动 #电源进阶设定,常用在Laptop 上
service autofs stop chkconfig autofs off 
#停用自动挂载档按系统与调边装署
service bluetooth stop chkconfig bluetooth  off 
#停用luetooth蓝芽
service cpuspeed stop chkconfig cpuspeed of 
#停用控制CPU速度主要用来省电
service cups stop chkconfig cups off 
#停用 Common UNIX Printing System 使采统支援印表机
service ip6tables stop chkconfig ip6tables off
#禁止IPv6
如果要恢复某一个服务,可以执行下面操作
service acpid start  chkconfig acpid on## 禁止非root用户执行/etc/rc.d/init.d/下的采统命禁止非root用户执行/etc/rc.d/init.d/下的系统命合
chmod -R 700 /etc/rc.d/init.d/*
Chmod -R 777 /etc/rc.d/init.d/*
#恢复默认设遇
9. 限制/设置不同文件的权限
chattr +a .bash_history#避免删除bash_history或者重定向到/dev/null
chattr +i bash_history
chmod 700 /usr/bin           恢复chmod 555 /usr/bin
chmod 700 /bin/ping          恢复 chmod 4755 /bin/ping
chmod 700 /usr/bin/vim       恢复 chmod 755 /usr/bin/vim
chmod 700 /bin/netstat       恢复 chmod 755 /bin/netstat
chmod 700 /usr/bin/tail      恢复 chmod 755 /usr/bin/tail
chmod 700 /usr/bin/less      恢复 chmod 755 /usr/bin/less
chmod 700 /usr/bin/head      恢复 chmod 755 /usr/bin/head 
chmod 700 /bin/cat           恢复 chmod 755 /bin/cat
chmod 700 /bin/uname         恢复 chmod 755 /bin/uname
chmod 500 /bin/ps            恢复 chmod 755 /bin/ps
10. 给对应文件增加不可更改属性
chattr +i /etc/passwd
chattr +i /etc/shadow
chattr +i /etc/group
chattr +i /etc/gshadow
chattr +i /etc/services   #给系统服务端口列表文件加锁,防止未经许可的删除或添加服务
lsattr /etc/passwd /etc/shadow /etc/group /etc/gshadow /etc/services  #显示文件的属性
注意:执行以上权限修改之后,就无法添加删除用户了。
如果再要添加删除用户,需要先取消上面的设置,等用户添加删除完成之后,再执行上面的操作
chattr -i /etc/passwd        #取消权限锁定设置
chattr -i /etc/shadow
chattr -1 /etc/group
chattr -i /etc/gshadow
chattr -i /etc/services     #取消系统服务端口列表文件加锁
现在可以进行添加删除用户了,操作完之后再锁走目录文件
11. 修改history命令属性
cp /etc/profile  /etc/profilebak
vim  /etc/profile
找到 HISTSIZE=1000 改为 HISTSIZE=100
12. 隐藏服务器系统信息

在缺省情况下,当你登陆到linux系统,它会告诉你该linux发行版的名称、版本、内核版本、服务器的名称。
为了不让这些默认的信息泄露出来,我们要进行下面的操作,让它只显示一个"login:"提示符。
删除/etc/issue和/etc/issue.net这两个文件,或者把这2个文件改名,效果是一样的。

mv /etc/issue  /etc/issuebak
mv  /etc/issue.net  /etc/issue.netbak
13. 优化内核参数
[root@localhost ~]# cp /etc/sysctl.conf /etc/sysctl.confbak   #先备份
[root@localhost ~]# vim /etc/sysctl.conf   #在文件末尾添加以下几行
net.ipv4.tcp_max_syn_backlog = 65536
net.core.netdev_max_backlog = 32768
net.core.somaxconn =32768
net.core.wmem_default = 8388608
net.core.rmem_default = 8388608
net.core.rmem_max = 16777216
net.core.wmem max = 16777216
net.ipv4.tcp_timestamps = 0
net.ipv4.tcp_synack_retries = 2
net.ipv4.tcp_syn_retries = 2
net.ipv4.tcp_tw_recycle = 1
#net.ipv4.tcp_tw len = 1
net.ipv4.tcp_tw_reuse = 1
net.ipv4.tcp_mem = 94500000 915000000 927000000
net.ipv4.tcp_max_orphans = 3276800
#net.ipv4.tcp_fin_timeout = 30
#net.ipv4.tcp_keepalive_time = 120
net.ipv4.ip_local_port_range = 10024 65535
#(表示用于向外连接的端口范围。缺省情况下很小:32768到61000  注意:这里不要将是低值设的太低,否则可能会占用掉正常的端口! )
[root@localhost ~]# /sbin/sysctl  -p   #使配置立即生效
14. 系统优化
[root@localhost ~]# cp /etc/profile /etc/profilebak2
[root@localhost ~]# vim /etc/profile           #在文件未尾添加以下内容
ulimit -c unlimited 
ulimit -s unlimited
ulimit -SHn 65535
[root@localhost ~]# source /etc/profile      #使配置立即生效
[root@localhost ~]# ulimit -a       #显示当前的各种用户进程限制
15. 服务器禁止Ping
[root@localhost ~]# cp /etc/rc.d/rc.local  /etc/rc.d/rc.localbak
[root@localhost ~]# vim /etc/rc.d/rc.local    #在文件末尾增加下面这一行
[root@localhost ~]# echo 1 > /proc/sys/net/ipv4/icmp_echo_ignore_all
参数0表示允许   1表示禁止

相关文章:

Linux系统维护

1. 批量安装部署 2. 初始化配置 3. 禁用Selinux 永久更改 SELinux 配置: 编辑 SELinux 配置文件:使用文本编辑器打开 /etc/selinux/config 文件: 在配置文件中,找到 SELINUX… 的行。将其值更改为以下选项之一: e…...

经典文献阅读之--RenderOcc(使用2D标签训练多视图3D Occupancy模型)

0. 简介 3D占据预测在机器人感知和自动驾驶领域具有重要的潜力,它将3D场景量化为带有语义标签的网格单元。最近的研究主要利用3D体素空间中的完整占据标签进行监督。然而,昂贵的注释过程和有时模糊的标签严重限制了3D占据模型的可用性和可扩展性。为了解…...

蓝牙设备中的UUID

文章目录 一、Device UUID二、Service UUID 一、Device UUID Device UUID也可以被称作为DeviceID。 Android 设备上扫描获取到的 deviceId 为外围设备的 MAC 地址,相对固定。iOS 设备上扫描获取到的 deviceId 是系统根据外围设备 MAC 地址及发现设备的时间生成的 …...

网络之再谈体系结构

大家都知道的是网络的体系结构,现代软件常用的体系结构无非是TCP/IP协议栈,OSI因为实现复杂并且效率没有TCP/IP协议栈好,所以不用OSI,但是,最近在复习网络知识的时候,发现了一些奇怪的地方,那就…...

在flutter initState 方法,触发 setState导致循环执行

在Flutter中,如果你在initState中调用了一个方法,并且这个方法可能导致状态更新,这可能会引起无限循环,因为每次状态更新都会再次调用initState。 为了避免这种情况,你应该检查调用的方法是否会导致状态更新&#xff…...

JavaScript字符串方法

charAt() 方法:返回指定索引处的字符。 示例: let str "Hello World"; console.log(str.charAt(0)); // Output: "H" console.log(str.charAt(6)); // Output: "W"charCodeAt() 方法:返回指定索引处字符的 Un…...

YD/T 2698-2014 《电信网和互联网安全防护基线配置要求及检测要求 网络设备》标准介绍

编写背景 随着互联网技术的飞速发展,网络设备的安全问题日益凸显。为了加强电信网和互联网的安全防护,保障网络环境的稳定和用户信息的安全,YD/T 2698-2014标准应运而生。此标准旨在为网络设备提供一套基线配置要求,以及相应的安…...

QCC30XX如何查找本地地址码

查找本地地址段/********************************************************************** Copyright (c) 2016 - 2017 Qualcomm Technologies International, Ltd. FILE NAME sink_private_data.c DESCRIPTION This module works as a container for all private and common…...

基于 DCT 的图像滤波

需求分析 对于图像去噪这一需求,我们可以通过DCT(离散余弦变换)算法来实现。DCT是一种基于频域的变换技术,可以将图像从空间域转换为频域,然后通过滤波等处理方式进行去噪。 针对这一需求,我们需要进行以下…...

spdlog日志库源码:自定义异常类spdlog_ex

自定义异常类spdlog_ex 标准库异常类(std::exception)系列,能满足大多数使用异常的场景,但对系统调用异常及错误信息缺乏支持。spdlog通过继承std::exception,扩展对系统调用的支持,实现自定义异常类spdlo…...

3.每日LeetCode-数组类,爬楼梯(Go,Java,Python)

目录 题目 解法 Go Java Python 代码地址:leetcode: 每日leetcode刷题 题目 题号70. 爬楼梯 假设你正在爬楼梯。需要 n 阶你才能到达楼顶。 每次你可以爬 1 或 2 个台阶。你有多少种不同的方法可以爬到楼顶呢? 示例 1: 输入&#xff…...

单节点11.2.0.3参数文件恢复到RAC11.2.0.4启动失败

问题描述 通过pfile生成spfile失败,提示DATA磁盘不存在 SQL> create spfileDATA/DXJ/spfiledxj.ora from pfile/home/oracle/initdxj20240529.ora; create spfileDATA/DXJ/spfiledxj.ora from pfile/home/oracle/initdxj20240529.ora * ERROR at line 1: ORA-1…...

Windows电脑高颜值桌面便利贴,便签怎么设置

在这个看颜值的时代,我们不仅在衣着打扮上追求时尚与美观,就连电脑桌面也不愿放过。一张唯美的壁纸,几款别致的小工具,总能让我们的工作空间焕发出不一样的光彩。如果你也热衷于打造高颜值的电脑桌面,那么,…...

代码随想录35期Day54-Java

Day54题目 LeetCode392判断子序列 核心思想:公共子序列长度达到需要判断的字符串的长度,说明是子序列 class Solution {public boolean isSubsequence(String s, String t) {if("".equals(s)) return true;int[][] dp new int[s.length()1][t.length()1];for(int…...

Ubuntu使用sudo命令

在Ubuntu系统中,使用管理员权限通常涉及到使用sudo命令。这是因为Ubuntu默认情况下不直接允许root用户登录,而是通过sudo命令来执行需要管理员权限的任务。以下是一些常见的使用管理员权限的方法: 1. 使用sudo命令 运行单个命令 如果只需要…...

三方语言中调用, Go Energy GUI编译的dll动态链接库CEF

如何在其它编程语言中调用energy编译的dll动态链接库,以使用CEF 或 LCL库 Energy是Go语言基于LCL CEF开发的跨平台GUI框架, 具有很容易使用CEF 和 LCL控件库 interface 便利 示例链接 正文 为方便起见使用 python 调用 go energy 编译的dll 准备 系统&#x…...

Go微服务: Grpc服务注册在Consul的示例(非Go-Micro)

概述 现在,我们使用consul客户端的api来把GRPC服务实现注册到consul上,非Go-Micro的形式其实,consul官方提供了对应的接口调用来实现,golang中的consul/api包对其进行了封装我们使用consul/api来进行展示 目录结构 gitee.com/g…...

Java+Swing+Mysql实现飞机订票系统

一、系统介绍 1.开发环境 操作系统:Win10 开发工具 :Eclipse2021 JDK版本:jdk1.8 数据库:Mysql8.0 2.技术选型 JavaSwingMysql 3.功能模块 4.数据库设计 1.用户表(users) 字段名称 类型 记录内容…...

2024 rk

1.mysql、redis分布式锁 case: 商品秒杀 1)使用 MySQL 作为分布式锁来实现商品秒杀功能可能存在以下几个缺点; 使用 MySQL 作为分布式锁来实现商品秒杀功能可能存在以下几个缺点: 单点故障:如果使用单个 MySQL 实例作为分布式锁的存储介质…...

Java实现多张图片合并保存到pdf中

Java实现多张图片合并保存到pdf中 1、依赖–maven <dependency><groupId>org.apache.pdfbox</groupId><artifactId>pdfbox</artifactId><version>2.0.24</version></dependency>2、上代码 package com.hxlinks.hxiot.contro…...

Spring Boot 实现流式响应(兼容 2.7.x)

在实际开发中&#xff0c;我们可能会遇到一些流式数据处理的场景&#xff0c;比如接收来自上游接口的 Server-Sent Events&#xff08;SSE&#xff09; 或 流式 JSON 内容&#xff0c;并将其原样中转给前端页面或客户端。这种情况下&#xff0c;传统的 RestTemplate 缓存机制会…...

UE5 学习系列(三)创建和移动物体

这篇博客是该系列的第三篇&#xff0c;是在之前两篇博客的基础上展开&#xff0c;主要介绍如何在操作界面中创建和拖动物体&#xff0c;这篇博客跟随的视频链接如下&#xff1a; B 站视频&#xff1a;s03-创建和移动物体 如果你不打算开之前的博客并且对UE5 比较熟的话按照以…...

React19源码系列之 事件插件系统

事件类别 事件类型 定义 文档 Event Event 接口表示在 EventTarget 上出现的事件。 Event - Web API | MDN UIEvent UIEvent 接口表示简单的用户界面事件。 UIEvent - Web API | MDN KeyboardEvent KeyboardEvent 对象描述了用户与键盘的交互。 KeyboardEvent - Web…...

Matlab | matlab常用命令总结

常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

精益数据分析(97/126):邮件营销与用户参与度的关键指标优化指南

精益数据分析&#xff08;97/126&#xff09;&#xff1a;邮件营销与用户参与度的关键指标优化指南 在数字化营销时代&#xff0c;邮件列表效度、用户参与度和网站性能等指标往往决定着创业公司的增长成败。今天&#xff0c;我们将深入解析邮件打开率、网站可用性、页面参与时…...

算法笔记2

1.字符串拼接最好用StringBuilder&#xff0c;不用String 2.创建List<>类型的数组并创建内存 List arr[] new ArrayList[26]; Arrays.setAll(arr, i -> new ArrayList<>()); 3.去掉首尾空格...

AI,如何重构理解、匹配与决策?

AI 时代&#xff0c;我们如何理解消费&#xff1f; 作者&#xff5c;王彬 封面&#xff5c;Unplash 人们通过信息理解世界。 曾几何时&#xff0c;PC 与移动互联网重塑了人们的购物路径&#xff1a;信息变得唾手可得&#xff0c;商品决策变得高度依赖内容。 但 AI 时代的来…...

三分算法与DeepSeek辅助证明是单峰函数

前置 单峰函数有唯一的最大值&#xff0c;最大值左侧的数值严格单调递增&#xff0c;最大值右侧的数值严格单调递减。 单谷函数有唯一的最小值&#xff0c;最小值左侧的数值严格单调递减&#xff0c;最小值右侧的数值严格单调递增。 三分的本质 三分和二分一样都是通过不断缩…...

Python 实现 Web 静态服务器(HTTP 协议)

目录 一、在本地启动 HTTP 服务器1. Windows 下安装 node.js1&#xff09;下载安装包2&#xff09;配置环境变量3&#xff09;安装镜像4&#xff09;node.js 的常用命令 2. 安装 http-server 服务3. 使用 http-server 开启服务1&#xff09;使用 http-server2&#xff09;详解 …...

深入理解Optional:处理空指针异常

1. 使用Optional处理可能为空的集合 在Java开发中&#xff0c;集合判空是一个常见但容易出错的场景。传统方式虽然可行&#xff0c;但存在一些潜在问题&#xff1a; // 传统判空方式 if (!CollectionUtils.isEmpty(userInfoList)) {for (UserInfo userInfo : userInfoList) {…...