系统安全及应用

ops/2025/2/12 2:25:56/

文章目录

    • 系统账号清理
    • 密码安全控制
    • 命令历史
    • 切换用户


系统账号清理

  • 将非登录用户的Shell设为/sbin/nologin
  • 锁定长期不适用的账户
  • 删除无用的账户
  • 锁定账号文件passwd、shadow

注意:所谓的无法登陆是指这个用户无法登录系统而已,并不是代表这个用户不可以调用用户资源,一般用于程序用户的设置,保障系统安全

锁定配置文件
chattr -i 不得任意更改文件或目录
命令:
chattr +i /etc/passwd /etc/shadow#加锁
chattr -i /etc/passwd /etc/shadow#解锁

在这里插入图片描述

密码安全控制

设置密码规则
修改/etc/login.defs 文件里的内容来设置密码规则,但此文件只对修改之后的用户有效果,换句话来说就是不能修改已存在的用户的密码规则。
在这里插入图片描述

  • PASS_MAX_DAYS 99999#密码可使用的最大天数
  • PASS_MIN_DAYS 0#两次修改密码最小时间间隔时间
  • PASS_MIN_LEN 5#密码最小长度
  • PASS_WARN_AGE 7#密码过期前多少天开始提示

对已有用户可以使用chage命令来修改
用法:chage [选项] 登录

选项:

  • -d, --lastday 最近日期 将最近一次密码设置时间设为“最近日期” ,即强制用户下次登录时一定修改密码。
  • -E, --expiredate 过期日期 将帐户过期时间设为“过期日期”
  • -h, --help 显示此帮助信息并推出
  • -I(大写i), --inactive INACITVE 过期 INACTIVE 天数后,设定密码为失效状态
  • -l, --list 显示帐户年龄信息
  • -m, --mindays 最小天数 将两次改变密码之间相距的最小天数设为“最小天数”
  • -M, --maxdays 最大天数 将两次改变密码之间相距的最大天数设为“最大天数”
  • -R, --root CHROOT_DIR chroot 到的目录
  • -W, --warndays 警告天数 将过期警告天数设为“警告天数”

命令历史

Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。 Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为1000条。通过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。
1.一次性清除命令,但重启过后历史命令还是可以出现。
命令:history -c
在这里插入图片描述
永久改变
在这里插入图片描述
进入/etc/profile文件下找到图上的变量修改并保存,并source /etc/profile(source通常用.代替)重新执行该文件。
如果需要每次关机自动清空历史操作呢?该如何实现?
在.bash_logout(登出配置文件)的配置文件加入命令
echo " " >~/.bash_history即可清空历史操作命令。
注意:想对所有用户生效需要在/etc目录下,若是对当前目录下用户生效即可当前永固的家目录的隐藏文件。

切换用户

su命令即switch user ,命令可以切换用户身份,并且以指定用户的身份执行命令。

su UserName:非登录式切换,即不会读取目标用户的配置文件,不改变当前工作目录,即不完全切换
su - UserName:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换

说明:root su至其他用户无须密码;非root用户切换时需要密码。
在这里插入图片描述

注意:su 切换新用户后,使用 exit 退回至旧的用户身份,而不要再用 su 切换至旧用户,否则会生成很多的bash子进程,环境可能会混乱。


http://www.ppmy.cn/ops/7493.html

相关文章

k8s中 storageclass出现错误

0/3 nodes are available: 3 pod has unbound immediate PersistentVolumeClaims. 1.在k8s中创建sc时,发现pod一直在pending状态 2.原因,在k8s 1.20版本后,由于性能影响,自动关闭了 selflink 3.解决办法 4. 在配置文件中开启selflink vim /etc/kubernetes/manifests/kube-ap…

PTA L3-037 夺宝大赛

题目 解析 从大本营进行bfs&#xff0c;记录到每个点的距离&#xff0c;记录每个参赛队到达大本营的距离&#xff0c;有相同距离的参赛队不为获胜者&#xff0c;具有单一距离且最小的参赛队为赢家 代码 #include <bits/stdc.h>using i64 long long; using namespace …

分享四月书单

Hello , 我是小恒。之后有物理服务器搭建和大容量高并发数据中心的需求&#xff0c;所以四月在写一些避坑方面的文章比较少&#xff0c;主在写一些基础入门和本地开发的操作。可能五一就开始组装调试上线&#xff0c;CSDN也马上获得后端优质创作者&#xff0c;不过遗憾的是&…

字节跳动的BytePlus和Sui达成合作,聚焦游戏和SocialFi

字节跳动旗下的技术解决方案子公司BytePlus与Sui达成合作&#xff0c;首次涉足区块链领域。BytePlus将与Mysten Labs合作&#xff0c;将其推荐解决方案和增强现实产品等服务适配到Sui上。 BytePlus提供各种服务&#xff0c;包括内容分发网络、个性化解决方案和利用先进的AR技术…

线程和进程的区别(面试)

线程和进程的区别 进程和线程的区别线程的优点 进程和线程的区别 1. 进程是系统进行资源分配和调度的一个独立单位,线程是程序执行的最小单位. 2. 进程有自己的内存地址空间,线程只独享指令流执行的必要资源,如寄存器和栈. 3. 由于同一进程的各线程共享内存和文件资源,可以不通…

SPISPI

#include "stm32f10x.h" void MySPI_W_SS(uint8_t BitValue) //写SS的引脚 { GPIO_WriteBit(GPIOA,GPIO_Pin_4,(BitAction)BitValue);//BitAction表示非0即1 } void MySPI_Init(void) { //开启SPI和GPIO的时钟 RCC_APB2PeriphClockCmd(RCC_APB2Periph…

sql篇-如何重启MySQL,正确启动MySQL

Windows启动mysql 1.点击“开始”->“运行”(快捷键WinR)&#xff08;以管理员身份运行&#xff09; 2.启动&#xff1a;输入 net stop mysql 3.停止&#xff1a;输入 net start mysql Linux启动MySQL 1、通过rpm包安装的MySQL service mysqld restart 2、从源码包安装的MyS…

【GPTs分享】GPTs分享之 AskYourPDF Research Assistant​

一、简介 AskYourPDF Research Assistant 是一款高级人工智能研究助手&#xff0c;专门设计用于帮助用户高效从PDF文件和文章中提取信息。它结合了深度学习技术和自然语言处理能力&#xff0c;以便用户能够快速地查询、总结及处理文档内容&#xff0c;并能够生成与文章内容相关…