首页 > 系统相关 >Linux系统安全和应用

Linux系统安全和应用

时间:2022-10-15 23:44:06浏览次数:49  
标签:系统安全 密码 用户 etc 应用 Linux root localhost zs

一、账号的安全控制

1.1、账号的优化

账号的优化一般分为下面几个步骤

  • 将一些用户设置无法登录,防止其破坏系统
  • 锁定无用账号
  • 删除长期不登录的闲置账号
  • 锁定用户和账号密码的配置文件,防止系统被入侵

1.2、设置用户无法登录

通常linux中想让用户无法登录,一般会将用户的shell改为 /sbin/nologin ,而/sbin/login的作用是用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。

cat /etc/passwd|grep ^zs                          /////查看用户属性
usermod -s /sbin/nologin zs                      /////修改用户无法登录
su zs                                            ////切换用户来验证能否登录

1.3、锁定无用账号

usermod -L zs                                   ////锁定账号
​​​​[root@localhost ~]# cat /etc/shadow |grep ^zs
# 查看密码的配置文件并检索出zs开头的用户
 
zs:!$6$LA7n3jCI3IvhMBHS$.9YqBUKpKwb9DHSIPX9KDVV4YJ5g04GxFQI8jdGx8XJoMqEgkdLrlAd03ahyCcjejZ7iKuO.Iv5OSlGxoSCTD.::0:99999:7:::
 
#!表示密码是锁定状态
[root@localhost ~]# usermod -U zs
#解锁zs用户的密码
 
[root@localhost ~]# cat /etc/shadow |grep ^zs
#  查看密码的配置文件并检索出zs开头的用户
 
zs:$6$LA7n3jCI3IvhMBHS$.9YqBUKpKwb9DHSIPX9KDVV4YJ5g04GxFQI8jdGx8XJoMqEgkdLrlAd03ahyCcjejZ7iKuO.Iv5OSlGxoSCTD.::0:99999:7:::
 
#密码字段开头没有!说明密码已经解锁

 

1.4、删除账号

[root@localhost ~]# userdel  lisi
 
#删除用户lisi

  

1.5、锁定用户配置文件

[root@localhost ~]# chattr +i /etc/passwd /etc/shadow                     ///锁定用户配置文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow
----i----------- /etc/passwd
----i----------- /etc/shadow                                              ///查看是否处于锁定状态

 

1.6、密码的安全控制

已有用户设置密码

[root@localhost ~]# chage -d 0 ls
 
  # 让 ls用户下次登录必须修改密码
 
[root@localhost ~]# chage -M 15 ls
# 设置用户ls 密码15天到期
 
[root@localhost ~]# cat /etc/shadow |grep ^ls
 
 
ls:$6$ViTJMlj1$Xgkd1y157FqI84nodUIgJZ8.YLYH8hBO8QnpTNaGkjuQ9HjViLyDfexoD5RVy.DDrEi.rX3KZtovzbr3PqbwT1:0:0:15:7:::
#第五字段有到期天数

  

新建用户设置密码

[root@localhost ~]# vim /etc/login.defs 
 
# 修改 /etc/login.defs 配置文件
 
 
PASS_MAX_DAYS   99999
# 密码最大有效期
 
PASS_MIN_DAYS   0
#两次密码修改最少间隔时间
 
PASS_MIN_LEN    5
#设置的密码长度,root用户无效
 
 
PASS_WARN_AGE   7
#密码过期前多少天提示

  

二、用户命令的权限控制

1、历史命令的管理

bash中默认命令记忆可达1000个。这些命令保存在主文件夹内的.bash_history中

设置历史命令保存个数

[root@localhost ~]# vim /etc/profile
#修改历史命令的保存个数
 
HISTSIZE=5
#当前历史命令为5个
 
. /etc/profile  
 #刷新配置文件

  

2、切换用户

su命令用于切换当前用户身份到其他用户身份,变更时须输入所要变更的用户帐号与密码

命令格式

su 用户名

su - 用户名

su 用户名:非登录式的登录,不会读取目标用户的的配置文件,不改变当前工作目录,即未完全登录

su - 用户名:登录式切换,会读取目标用户的配置文件,切换至自已的家目录,即完全切换

[root@localhost ~]# su zs
[zs@localhost root]$ pwd
/root
# 非登录式切换
 
 
[root@localhost ~]# su - zs
上一次登录:一 3月  7 14:33:15 CST 2022pts/0 上
[zs@localhost ~]$ pwd
/home/zs
 
#登录式切换
 
 

  

3、pam模块

在Linux中执行有些程序时,这些程序在执行前首先要对启动它的用户进行认证,符合一定的要求之后才允许执行,例如login, su等。在Linux中进行身份或是状态的验证程序是由PAM来进行的,PAM(Pluggable Authentication Modules)可动态加载验证模块,因为可以按需要动态的对验证的内容进行变更,所以可以大大提高验证的灵活性。

Linux-PAM有四种模块类型,分别代表四种不同的任务,它们是:
认证管理(auth),账号管理(account),会话管理(session)和密码(password)管理,一个类型可能有多行,它们按顺序依次由PAM模块调用。

4、sudo

sudo是linux下常用的允许普通用户使用超级用户权限的工具,允许系统管理员让普通用户执行一些或者全部的root命令,如halt,reboot,su等等。这样不仅减少了root用户的登陆和管理时间,同样也提高了安全性。Sudo不是对shell的一个代替,它是面向每个命令的。

给用户添加命令

[root@localhost ~]#  vim /etc/sudoers
# 进入提权的配置文件
 
zs      ALL=(root)      /usr/sbin/useradd, /usr/bin/su,/usr/sbin/which
 
加权限,这里的/usr/sbin/useradd ,/usr/bin/su, /usr/bin/which表示普通用户执行时必须使用全路径
 

  

5、grub加密

设置grub密码:

众所周知,通过编辑GRUB启动参数可以轻松的进入单用户模式从而修改root密码,这对于一台多用户的计算机或服务器来说,无疑增加了安全隐患。大家一定很像为自己的GRUB加一把锁吧,大家可以通过GRUB的password参数对GRUB设置密码。

给cenos 6 grub 加密

[root@kgc ~]# grub2-mkpasswd-pbkdf2      #根据提示设置GRUB菜单的密码
输入口令:
Reenter password:  123456
PBKDF2 hash of your password is grub.pbkdf2.sha512.10000.E96097D1B1E470345D9FB62759335832B4A0F39CD4C9A57B502BD59CF1B8C393EEA37847984E242AAD4BFBB72E4BDC2196E6A7495CE7C86BF3D2498A34CAC2B7.B2EB99ED40267AE9496357B78C0DC04CE79957980A4A3FFA577B7502D70A5412D2EAD5CE4DAAC0FE068621CB29B76E44A7645EDCC7784FF20E113AF0B95E3467i
 
[root@kgc ~]# cp /boot/grub2/grub.cfg /boot/grub2/grub.cfg.bak
[root@kgc ~]# cp /etc/grub.d/00_header /etc/grub.d/00_header.bak
#备份文件  
[root@kgc ~]# vim /etc/grub.d/00_header
#最后
cat << EOF 
set superusers="root"  
#设置登录用户
 
password_pbkdf2 root 
#设置密码
grub.pbkdf2.sha512.10000.E96097D1B1E470345D9FB62759335832B4A0F39CD4C9A57B502BD59CF1B8C393EEA37847984E242AAD4BFBB72E4BDC2196E6A7495CE7C86BF3D2498A34CAC2B7.B2EB99ED40267AE9496357B78C0DC04CE79957980A4A3FFA577B7502D70A5412D2EAD5CE4DAAC0FE068621CB29B76E44A7645EDCC7784FF20E113AF0B95E3467i
EOF
使用 grub2-mkconfig 命令生成新的 grub.cfg 配置文件。
[root@kgc ~]# grub2-mkconfig -o /boot/grub2/grub.cfg //生成新的 grub.cfg 文件
 
重启系统进入GRUB菜单时,按e键将需要输入账号密码才能修改引导参数。
 
cat << EOF
set superusers="root"
password_pbkdf2 root  grub.pbkdf2.sha512.10000.4F3CD9383616C3AAFB1E98A289CB707A6FEEDAE7BEFB10A59642FE641C8F13AD9A27EAD43DEB07D9F4228149C716FA40C8C04E13E98FFAC45EF7AA2AD76C96B9.49CEC46B324DC9A94D0B461C711569ADB79213708929B1891232DB5FE31EC6F5A0A4E4D0A4AA0EAA64E38A6876EEB3B5EBF8991D0FB04537E1F39D1AA40D1AD5
EOF
 
 
cat << EOF
set superusers="用户" 
password_pbkdf2 用户  加密密码
EOF

给cenos 7 配置 grub密码

[root@localhost ~]# grub2-setpassword

  

 

 

标签:系统安全,密码,用户,etc,应用,Linux,root,localhost,zs
From: https://www.cnblogs.com/zhao222/p/16789069.html

相关文章

  • Linux 引导及服务
    导图   一.引导过程1.开机自检BIOS服务器主机开机以后,将根据主板BIOS中的设置对CPU、内存、显卡、键盘等设备进行初步检测,检测成功后根据预设的启动顺序移......
  • 4、实现一个最基本的web应用
    实现一个最基本的web应用(这个web应用中没有java小程序第一步:找到CATALINA_HOME\webapps目录-因为所有的webapp要放到webapps目录下。(没有为什么,这是Tomcat服务器的要......
  • 大学生视角下的Linux学习之路
    如今的软件开发行业可谓是众星云集,要在这个行业干出一番大事业是比较艰难的。回看如今的服务器端市场,没有以前那些服务器一哥的存在了,更多的变成了Linux系统的身影。移动端......
  • RockyLinux清空buff/cache脚本
    一、脚本#!/bin/bash#开始清理缓存echo"开始清除缓存"#写入硬盘,防止数据丢失sync;sync;sync#延迟10秒sleep10#清理缓存echo1>/proc/sys/vm/drop_caches......
  • hadoop集群搭建与简单应用
    系统镜像:CentOS-6.5-x86_64-Li.iso虚拟机:VMwareWorkstation16Pro(16.0.0build-16894299)JDK:1.8.0_161hadoop:2.7.0创建虚拟机虚拟机安装后将系统install对mas......
  • Linux之Docker-01
    一、镜像基础命令1、dockerversion[root@DY-Ubuntu-01~]#dockerversion#查看Docker版本2、dockerinfo[root@DY-Ubuntu-01~]#dockerinfoClient:Con......
  • Linux学习笔记 | Shell脚本创建与执行
    一、输出命令echo格式:echo[选项][输出内容]说明:选项  -e  表示的是支持反斜线控制的字符转换注意:如果输出的内容中含有空格,使用双引号,如果内容中含有“!”,使用单引......
  • Linux环境变量
    环境变量定义存储有关Shell会话和工作环境信息的变量作用为脚本和程序提供获取环境信息,存储临时数据和配置信息分类全局环境变量Shell与子Shell都适用局......
  • 行业实践:RocketMQ 业务集成典型行业应用和实践
    作者:洛浩消息典型应用场景阿里云拥有丰富的消息产品家族,除了RocketMQ以外,还有大家熟知的对标开源的云Kafka、支持AMQP协议的开源消息队列RabbitMQ、物联网通信网......
  • Linux 下模拟制作块设备并挂载
    Linux下模拟制作块设备并挂载作者:Grey原文地址:博客园:Linux下模拟制作块设备并挂载CSDN:Linux下模拟制作块设备并挂载环境CentOS-7下载地址:下载CentOS-7Linux的......