系统安全及应用

文章目录


系统账号清理

  • 将非登录用户的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子进程,环境可能会混乱。

相关推荐
奥尔特星云大使21 分钟前
详细的Linux系统更新yum源的教程
linux·运维·服务器·ubuntu·centos·yum源·epel源
lht63193561225 分钟前
Ubuntu Server 系统安装图形界面
linux·运维·ubuntu
christine-rr26 分钟前
linux常用命令(6)——网络管理
linux·服务器·网络·ubuntu·网络安全
isyangli_blog1 小时前
Linux (CentOS 7.9) vmware 创建与安装
linux·运维·centos
AHUGEFATTY1 小时前
centos离线包获取-附centos7主流离线包资源
linux·运维·centos
hjlgs2 小时前
Kernel5.4 Timer定时器使用
linux
Do_GH2 小时前
【Linux】02.WSL搭建Linux环境
linux·运维·服务器
「QT(C++)开发工程师」2 小时前
C++语言编程规范-并发
java·linux·c++
乌萨奇也要立志学C++3 小时前
【Linux】进程控制(三) 自定义 Shell 命令行解释器的实现与进程协作实践
linux·运维·服务器
qiuiuiu4133 小时前
正点原子RK3568学习日志6-驱动模块传参
linux·c语言·开发语言·单片机·学习