Linux系统安全(用户、密码、grub引导密码、增加终端)

news2025/7/10 16:51:31

目录

系统安全

用户安全

密码安全

PAM认证

命令的历史

用户切换

命令的执行权限

grub引导密码

增加终端


系统安全

用户安全

命令

说明

chattr +i /etc/passwd

chattr:为文件添加特殊权限

+i:指定文件设为不可修改,只有root用户能为文件添加该权限

a:只能追加该文件

c:文件将被自动压缩以节省磁盘空间

d:该文件或目录不会被dump命令备份

s:当文件或目录被删除时,数据内容在磁盘上不会立即被清除,而是标记为删除

u:当文件或目录设置了u属性后,即使root用户也不能直接删除它,而是需要先移除这个属性

chattr -i /etc/passwd

将该文件减去不可修改的权限

chattr +a 文件

+a:append only,系统只允许在这个文件追加数据,而不允许修改、覆盖、删除这个文件。

比如使用 echo "aaa">>test.txt 命令来追加字符串

lsattr [文件]

查看指定文件的特殊权限

密码安全

路径

说明

/etc/login.defs

在该文件内修改之后创建用户时的默认参数,修改后不会影响原有的用户账号

密码策略对管理员无效

PASS_MAX_DAYS 99999 密码的最大有效天数。超过这个天数后,用户需要更改密码。

PASS_MIN_DAYS 0 密码更改后,必须等待的最小天数才能再次更改密码。

PASS_MIN_LEN 5 最小密码长度,这一页项在这个文件内是无效的

PASS_WARN_AGE 7 密码到期前的警告天数

PAM认证

Pluggable authentication module - 可插拔认证模块

路径

说明

/etc/pam.d

该目录存放的都是pam认证文件

文件的作用是用户在使用命令的时候是否有权限使用该指令

命令的历史

命令

说明

history

列出系统使用过的命令

history -c

清除历史命令

clear

清屏

export TMOUT=5

当系统超过5秒不执行命令时,退出终端,单位为秒

路径

说明

/etc/profile

profile:全局环境变量文件,用户登录时会被加载

在该文件能够修改history命令能够显示行数

在第46行HISTSIZE=修改的行数

修改后已经登录的用户不会收到影响,修改后登录的用户会被影响

.bash_logout

该文件用于存储 用户退出时所执行的命令

用户切换

命令

说明

su - 用户名

不采用当前用户环境信息,使用目标用户的环境信息切换用户

在root用户登录终端下可以使用su - 用户名 命令来切换用户,如果是普通用户切换到root登录则需要密码

exit

退出登录

命令的执行权限

文件和命令

说明

/etc/sudoers

该文件为只读,为用户指定权限的文件,能够让用户执行哪些命令都是由该文件决定的

visudo

打开/etc/sudoers文件

Defaults logfire="/var/log/sudo"

用visudo命令在sudoers文件添加左侧命令,表示启用提权日志

grub引导密码

  • 密文
    • 对字符进行加密处理
  • 明文
    • 不加密

命令和路径

说明

grub2-mkpasswd-pbkdf2

生成一个密码的密文

会根据你输入的口令根据算法变成密文

/etc/grub.d/

该路径下存储的文件是系统在启动时依次要读取的

01_users

该文件用于配置用户自定义在选中相应内核时按下e键后

grub2-mkconfig -o /boot/grub2/grub.cfg

生成GRUB引导加载器配置文件

修改完01_users文件后,需要重新生成grub配置文件

#!/bin/sh -e
cat << EOF
    set superusers="root" # 设置用户,哪个用户能够进入到grub的设置
    export superusers # 为超级用户设置参数
    password_pbkdf2 root grub.pbkdf2.sha512.10000.39CDB34D784C4B846111317645175228B9BBCBADC536D16CD52E6AF088056E04482C9D77320A00AFE0457A0B5B2ECFA56F94260ED1AC8939267B7B2E85388BC6.1D92BACD35D4DEB2C87D7BB1867A23B1A081C86742B9A3CF2E7B3B8053BB1B5F01CF3794433C2265FDFA2250EDF6414BA52E8D2F57FC8338878EB28B3240B462   # 给root设置加密以后的密码,示例为密文,明文则是加密前的密码
EOF
  1. 先通过 grub2-mkpasswd-pbkdf2 命令生成一个密文
  2. 在 /etc/grub.d/ 目录下修改 01_users 文件为上方示例
  3. 使用 grub2-mkconfig -o /boot/grub2/grub.cfg 重新生成grub配置文件
  4. 再重启系统来到grub引导界面

  1. 按下e键,就会提示输入登录的用户名和密码
  2. 登录成功后就进入内核的配置页面

增加终端

  • tty终端默认为6个,Linux桌面版的桌面默认安装在tty1上,而进入系统默认选择tty1的终端,所以桌面版的linux一进系统就是桌面

命令和文件

说明

/etc/securetty

用于控制哪些终端允许用户登录

如果不想让用户在某一个终端登录,就把终端名注释掉

/etc/systemd/login.conf

该文件

[Login] [Login]

#NAutoVTs=6 改为 NAutoVTs=12

表示虚拟终端分配的数量改为12,默认为6

systemctl restart systemd-logind

重启用户登录会话相关服务

当你修改了比如终端数量的配置,需要重启该服务才会同步你修改的配置

/etc/nologin

在/etc目录下创建名为nologin的空文件,可以阻止普通用户登录终端

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

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

相关文章

职称申报总是不通过的五大原因,竟然在这里

职称评审每年都是有人通过&#xff0c;有人不能通过&#xff0c;而且有的人每年申报&#xff0c;但还是不通过&#xff0c;不通过其实都是有原因&#xff0c;抛开运气&#xff0c;有的人确实运气不好&#xff0c;不通过&#xff0c;这种没办法&#xff0c;但是大部分人申报没有…

海外仓系统选择方法:中小型海外仓怎么选到合适的wms系统?

对于中小型海外仓来说&#xff0c;本身的预算有限&#xff0c;所以要怎么选择一个合适的海外仓管理系统&#xff0c;并不是一件简单的事情。 这确实是一个重大的决定&#xff0c;它直接关系到后面海外仓的运营效率。今天我们会系统的介绍一下&#xff0c;中小型海外仓选择海外…

Base64 编码详解

文章目录 Base64 编码详解base64是什么base64原理base64变种为什么要base64编码 Base64 编码详解 base64是什么 Base64编码&#xff0c;是由64个字符组成编码集&#xff1a;26个大写字母AZ&#xff0c;26个小写字母az&#xff0c;10个数字0~9&#xff0c;符号“”与符号“/”…

【乐吾乐2D可视化组态编辑器】开关、阀门、报警状态切换

开关状态 开关的断开与闭合&#xff1a;将电力组件的“开”与“关”2个组件重叠在一起&#xff0c;右键选择“组合为状态”&#xff0c;属性面板中就可以任意切换状态。 视频教程&#xff1a;开关阀门多状态控制 乐吾乐2D可视化组态编辑器地址&#xff1a;https://2d.le5le.co…

详解 Spring Security:全面保护 Java 应用程序的安全框架

详解 Spring Security&#xff1a;全面保护 Java 应用程序的安全框架 Spring Security 是一个功能强大且高度可定制的框架&#xff0c;用于保护基于 Java 的应用程序。它为身份验证、授权、防止跨站点请求伪造 (CSRF) 等安全需求提供了解决方案。下面将更详细地介绍 Spring Se…

盲盒App开发时有哪些技术框架可以借鉴

在开发盲盒App时&#xff0c;技术框架的选择对于应用的性能、稳定性和用户体验都至关重要。以下是几个可以借鉴的技术框架&#xff0c;它们在不同方面提供了优势&#xff0c;并且结合了参考文章中的相关信息&#xff1a; 前端技术框架 微信小程序框架&#xff1a; 优点&#…

关于2024年第一批计算机程序设计员(Python)四级、三级职业技能等级证书认证考试的通知

计算机程序设计员&#xff08;Python&#xff09;详细介绍 报名详细信息&#xff1a; 报名截止时间&#xff1a;2024年6月05日 ~ 2024年6月18日 准考证下载时间&#xff1a;2023年6月24日 ~ 6月28日 考试时间&#xff1a;2024年6月29日 四级&#xff1a;08:30~12:30&#…

2024年应用数学与建模国际学术会议 (ICAMM 2024)

2024年应用数学与建模国际学术会议 &#xff08;ICAMM 2024&#xff09; 2024 International Conference on Applied Mathematics and Modeling 【重要信息】 大会地点&#xff1a;上海 大会官网&#xff1a;http://www.icicamm.com 投稿邮箱&#xff1a;icicammsub-conf.com 【…

Java-01-基础篇 Java集合-01-Map

一&#xff0c;Map Map 是一个键值对的集合&#xff0c;它取代了 java.util.Dictionary 字典类&#xff1b;这个字典类是在 JDK1.0 提供的&#xff0c;Map集合是在 JDK1.2 提供的。 1.1 Map 接口分析 package java.util; /*** param <K> 键的类型* param <V> 值的…

『大模型笔记』主成分分析(PCA)解释:简化机器学习中的复杂数据!

主成分分析(PCA)解释:简化机器学习中的复杂数据 文章目录 一. 主成分分析(PCA)解释:简化机器学习中的复杂数据!二. 参考文献一. 主成分分析(PCA)解释:简化机器学习中的复杂数据! 主成分分析(Principal Component Analysis,简称PCA)通过 将大型数据集中的维度减少…

EC20通信模块升级失败 Quectel QDLoader 9008

这里写自定义目录标题 usb驱动下载固件和升级软件下载开始升级上述过程升级失败&#xff0c;出现Quectel QDLoader 9008寻找解决方案&#xff0c;事了QPS t不行&#xff0c;最终使用这个Quectel_Customer_FW_Download_Tool软件解决下载链接&#xff1a; 所有下载驱动、固件、软…

基于梯度下降的多元线性回归原理

为了展示多元线性回归的迭代过程&#xff0c;我们可以使用梯度下降算法手动实现多元线性回归。梯度下降是一种迭代优化算法&#xff0c;用于最小化损失函数。 我们将以下步骤进行手动实现&#xff1a; 初始化回归系数。计算预测值和损失函数。计算梯度。更新回归系数。重复步…

机器学习python实践——数据“相关性“的一些补充性个人思考

在上一篇“数据白化”的文章中&#xff0c;说到了数据“相关性”的概念&#xff0c;但是在统计学中&#xff0c;不仅存在“相关性”还存在“独立性”等等&#xff0c;所以&#xff0c;本文主要对数据“相关性”进行一些补充。当然&#xff0c;如果这篇文章还能入得了各位“看官…

MPT(merkle Patricia trie )及理解solidity里的storage

what&#xff1f; MPT树是一种数据结构&#xff0c;用于在以太坊区块链中高效地存储和检索账户状态、交易历史和其他重要数据。MPT树的设计旨在结合Merkle树和Patricia树的优点&#xff0c;以提供高效的数据存储和验证 MPT树由四种类型的节点组成&#xff1a; **扩展节点&…

快速理解 Node.js 版本差异:3 分钟指南

Node.js 是一个广泛使用的 JavaScript 运行时环境&#xff0c;允许开发者在服务器端运行 JavaScript 代码。随着技术的发展&#xff0c;Node.js 不断推出新版本&#xff0c;引入新特性和改进。了解不同版本之间的差异对于开发者来说至关重要。以下是一个快速指南&#xff0c;帮…

轻量级的数据交换格式JSON (JavaScript Object Notation)介绍

什么是JSON&#xff1f; JSON (JavaScript Object Notation) 是一种轻量级的数据交换格式&#xff0c;它属于JavaScript的一个子集&#xff0c;采用完全独立于编程语言的文本格式来存储和表示数据。简洁和清晰的层次结构使得 JSON 成为理想的数据交换语言。 JSON具有易读性&…

Ubuntu Server 20.04挂载磁盘

先查看磁盘信息&#xff1a; sudo fdisk -l然后提供NTFS文件系统支持&#xff1a; sudo mkfs.ntfs /dec/sda -F这个过程非常久… 处理完如上图。&#xff08;ps. 这个 Have a nice day. 好浪漫~&#xff09; 接着挂载磁盘&#xff1a; sudo mount /dev/sda ~/device设置开机…

安装golang

官网:All releases - The Go Programming Language (google.cn) 下载对应的版本安装即可

MongoDB——写入耗时

mongodb写入10万条数据的耗时差不多是1s import time import pymongo from pymongo import MongoClient# 连接到MongoDB client MongoClient(mongodb://localhost:27017/) db client[test_db] collection db[test_collection]# 生成10万条数据 documents [{"name&quo…

免费分享:1901-2020全球气候数据集(附下载办法)

长期的全球其后数据不仅能够揭示长期的气候趋势&#xff0c;还为农业、水资源管理、公共卫生等多个领域的决策提供科学依据&#xff0c;对于推动可持续发展具有重要意义。 数据集简介 CRU TS&#xff08;Climatic Research Unit gridded Time Series&#xff09;数据集&#…