Linux系统安全及应用(1)

news2024/10/6 14:34:16

目录

一.账号安全控制

系统账号清理

二.密码安全控制

密码安全控制

三.命令历史限制

命令历史限制

四.限制su切换用户 

1)将信任的用户加入到wheel组中    

2)修改su的PAM认证配置文件        

​编辑五.PAM认证的构成

六.使用sudo机制提升权限


一.账号安全控制

系统账号清理

将非登录用户的Shell设为/sbin/nologin

  • usermod -s /sbin/nologin 用户名

锁定长期不使用的账号

  • usermod-L用户名
  • passwd-S用户名
  • passwd-用户名

删除无用的账号

  • userdel [-r]用户名

锁定账号文件passwd、shadow

  • chattr +i/etc/passwd /etc/shadow
  • Isattr/etc/passwd /etc/shadow
  • chattr -i/etc/passwd /etc/shadow

chattr + i [文件名]:锁定指定文件

[root@localhost ~]# chattr +i /etc/passwd
[root@localhost ~]# lsattr /etc/passwd 
----i----------- /etc/passwd
[root@localhost ~]# ll /etc/passwd
-rw-r--r--. 1 root root 2498 4月  18 17:23 /etc/passwd
[root@localhost ~]# echo 1111 >> /etc/passwd 
-bash: /etc/passwd: 权限不够
[root@localhost ~]# chattr +i /etc/shadow
[root@localhost ~]# useradd lisi
useradd:无法打开 /etc/passwd
[root@localhost ~]# echo 123123 | passwd --stdin lll
更改用户 lll 的密码 。
passwd: 鉴定令牌操作错误
[root@localhost ~]# userdel lll
userdel:无法打开 /etc/passwd

chattr - i [文件名]:解锁指定文件

[root@localhost ~]# chattr -i /etc/passwd /etc/shadow 
[root@localhost ~]# lsattr /etc/passwd 
---------------- /etc/passwd

二.密码安全控制

密码安全控制

  • 设置密码有效期
  • 要求用户下次登录时修改密码

chage -M [密码有效期天数] [系统中已存在的用户名]

修改系统中已经存在用户的密码有效期

[root@localhost ~]# chage -M 35 lll
[root@localhost ~]# tail /etc/shadow
sshd:!!:19828::::::
avahi:!!:19828::::::
postfix:!!:19828::::::
tcpdump:!!:19828::::::
mwq:$6$aGtV0krLdkxMKXTH$9A0or5E3UuqGoZr2hPaRmtUuZcd7nvQI3ekvc7.oRkivND0PWTvYqDDIdT20e5yKZ/TTQ33jaz6niJRlIc4wA0::0:99999:7:::
apache:!!:19828::::::
lll:$6$bVkg0T15$1u4lwDuM7EcOuP5AC4lVMyR.NovwEAO8tkXg1uTDzNQkSvYPiBbhnL1J93YizfEcRWXUjy8RcYsfxzPEzfStM.:19831:0:35:7:::
clr:$6$NLTnP.oX$opiHUXZuq.dpqHDy/51AbiUjXgjtIfIlmWfy2RdOJE1aZHD3gOWQjonfQwkImZBEdQAGfBaqeV0BS9OHy11HC1:19831:0:99999:7:::
l:$6$hyydKWkw$DNXko82Ru8yXKNR4.pq6ZPonsgp.w2gvL1IEBTmyQhjvV13RVRre9FE7E5alHiVcFYJqwG8ncU3AQPnqwtPmb.:19831:0:99999:7:::
abc:!!:19831:0:99999:7:::

vim /etc/lpgin.desf→PASS_MAX_DAYS

针对新用户

[root@localhost ~]# useradd lgd
[root@localhost ~]# vim /etc/login.defs

chage -e 0 用户名  

强制用户下一次登录修改密码

[root@localhost ~]# useradd lgd2
[root@localhost ~]# echo 123 | passwd --stdin lgd2
更改用户 lgd2 的密码 。
passwd:所有的身份验证令牌已经成功更新。
[root@localhost ~]# chage -d 0 lgd2
[root@localhost ~]# tail /etc/shadow
postfix:!!:19828::::::
tcpdump:!!:19828::::::
mwq:$6$aGtV0krLdkxMKXTH$9A0or5E3UuqGoZr2hPaRmtUuZcd7nvQI3ekvc7.oRkivND0PWTvYqDDIdT20e5yKZ/TTQ33jaz6niJRlIc4wA0::0:99999:7:::
apache:!!:19828::::::
lll:$6$bVkg0T15$1u4lwDuM7EcOuP5AC4lVMyR.NovwEAO8tkXg1uTDzNQkSvYPiBbhnL1J93YizfEcRWXUjy8RcYsfxzPEzfStM.:19831:0:35:7:::
clr:$6$NLTnP.oX$opiHUXZuq.dpqHDy/51AbiUjXgjtIfIlmWfy2RdOJE1aZHD3gOWQjonfQwkImZBEdQAGfBaqeV0BS9OHy11HC1:19831:0:99999:7:::
l:$6$hyydKWkw$DNXko82Ru8yXKNR4.pq6ZPonsgp.w2gvL1IEBTmyQhjvV13RVRre9FE7E5alHiVcFYJqwG8ncU3AQPnqwtPmb.:19831:0:99999:7:::
abc:!!:19831:0:99999:7:::
lgd:!!:19832:0:99999:7:::

三.命令历史限制

命令历史限制

  • 减少记录的命令条数
  • 登陆时自动清空命令历史

history

查看历史命令

[root@localhost ~]# history
    1  ifconfig
    2  ifconfig ens33
    3  vi ens33
    4  vi /etc/sysconfig/network-scrip/ifcfg-ens33
    5  ping baidu.com
    6  ifconfig ens33
    7  help ens33
    8  help ip
    9  man -k ens33
   10  vi /etc/sysconfig/network-scripts/ifcfg-ens33
   11  systemctl restart network
   12  ping baidu.com
   13  ipconfig ens33
   14  ifconfig ens33
   15  mount /dev/sr0 /mnt
   16  mount /dev/sr0/ mnt
   17  df
   18  cd /boot
   19  cd grub2/
   20  ls
   21  mount/dev/sr0 /mnt
   22  mount/dev/sr0/ mnt
   23  mount /dev/sr0/ mnt
   24  mount /dev/sr0 /mnt
   25  mount /dev/sr0/ mnt
   26  df
   27  mount /dev/sr0/ mnt
   28  mount/dev/sr0/ mnt
   29  mount/dev/sr0 /mnt
   30  mount /dev/sr0 /mnt
   31  df
   32  cd /etc/yum.repo.d/
   33  cd/etc/yum.repo.d/
   34   cd /etc/yum.repos.d/
   35  mkdir repo.bak
   36  mv *.repo repo.bak
   37  vim local.repo
   38  yum clean all && yum makecache
   39  yum install -y httpd
   40  dd if=/dev/zero of=/dev/sda bs=446 count=1
   41  init 6
   42  fdsik /dev/sdb
   43  fdisk /dev/sdb
   44  cd /tmp
   45  ]# cp /dev/sr0   /tmp & nohup
   46  ]nohup cp /dev/sr0   /tmp &
   47  nohup ./catalina.sh run &
   48  cd /tmp
   49  df
   50  mount /dev/sr0 /mnt
   51  cd /etc/yum.repos.d/
   52  mkdir repos.bak
   53  mv *.repo repos.bak
   54  vim
   55  vim local.repo
   56  yum clean all && yum makecache
   57  cd
   58  yum install -y httpd
   59  vim local.repo
   60  yum clean all && yum makecache
   61  df
   62  cp /dev/sr0   /tmp
   63  cp /dev/sr0   /tmp &
   64  y
   65  ll -h
   66  cd /tmp
   67  ll -h
   68  ll -l
   69  ls
   70  ll -h
   71  crontab -l
   72  systemctl status crond.service
   73  crontab -e 
   74  crontab -l
   75  cd /var/spool/cron 
   76  cat root
   77  echo '30 7 * * 6 /usr/bin/systemctl httpd restart' >> /var/spool/cron/root
   78  crontab -l
   79  crontab -e #打开crontab
   80  groupadd -g 666 lll
   81  groupadd -g 666 llll
   82  useradd 123
   83  useradd 789
   84  useradd abc
   85  gpasswd -a abc llll
   86  gpasswd -d abc llll
   87  groupdel llll
   88  chattr +i /etc/passwd
   89  lsattr /etc/passwd 
   90  ll /etc/passwd
   91  echo 1111 >> /etc/passwd 
   92  chattr +i /etc/shadow
   93  useradd lisi
   94  echo 123123 | passwd --stdin lll
   95  userdel lll
   96  chattr -i /etc/passwd /etc/shadow 
   97  lsattr /etc/passwd 
   98  chage -M 30 lll
   99  vim /etc/shadow
  100  chage -M 35 lll
  101  tail /etc/shadow
  102  useradd lgd
  103  vim /etc/shadow
  104  vim /etc/login.defs
  105  useradd lgd2
  106  echo 123 | passwd --stdin lgd2
  107  chage -d 0 lgd2
  108  tail /etc/shadow
  109  history

history -c

清空历史记录

vim /etc/profile  

export HISISIZE=XX

soure/etc//profile

限制历史命令数量

vim .bash_history

echo ’ ’ > /.bash_history

将空数据内容重定向写入到/.bash_history文件中,实现开机登录,自动清空历史命令

修改/etc/bashrc文件

实现开机登录,自动清空历史命令

vim /etc/bashrc
/.bash_history

四.限制su切换用户 

1)将信任的用户加入到wheel组中    

gpasswd wheel -a 用户名

[root@localhost ~]# gpasswd wheel -a lll
正在将用户“lll”加入到“wheel”组中

2)修改su的PAM认证配置文件        

vim /etc/pam.d/su -> 开启 auth   required   pam_wheel.so use_uid 的配置

五.PAM认证的构成

六.使用sudo机制提升权限

visudo

vi  /etc/sudoers(此文件的默认权限为 440,保存退出时必须执行“:wq!”命令来强制操作)

“/var/log/sudo” :保存日志文件,可以查看到所有用户登录系统的操作

[root@clr ~]# vim /etc/sudoers

## Same thing without a password
# %wheel        ALL=(ALL)       NOPASSWD: ALL
zhangsan ALL=(root) /usr/sbin/ifconfig
lisi ALL=!/bin/rm
User_Alias GZY=zhangsan,lisi
Cmnd_Alias ADMIN=/sbin/*,!/usr/sbin/reboot,!/usr/sbin/poweroff,!/usr/sbin/init,!/usr/sbin/shutdown
GZY ALL = NOPASSWD: ADMIN

Defaults logfile = "/var/log/sudo"  #保存日志文件

[root@clr ~]# cd /var/log/
[root@clr /var/log]# vim sudo
Apr 13 00:09:36 : zhangsan : command not allowed ; TTY=pts/0 ; PWD=/root ;
    USER=root ; COMMAND=/sbin/reboot   #zhangsan用户不被允许的操作
Apr 13 00:09:51 : zhangsan : TTY=pts/0 ; PWD=/root ; USER=root ;
    COMMAND=/sbin/route add -net 10.0.0.1/24 gw 192.168.80.20 dev ens33  #zhangsan用户添加路由的操作
Apr 13 00:10:12 : lisi : command not allowed ; TTY=pts/0 ; PWD=/home/lisi ;  #用户lisi不被允许的操作
    USER=root ; COMMAND=/sbin/reboot                                                          

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

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

相关文章

机器人系统ros2-开发实践03-监听节点的参数变化(C++)

背景: 通常,节点需要响应其自身参数或另一个节点参数的更改。 ParameterEventHandler 类可以轻松侦听参数更改,以便您的代码可以响应它们。本教程将向您展示如何使用 ParameterEventHandler 类的 C 版本来监视节点自身参数的更改以及另一个节…

深入了解Semaphore、CountDownLatch等实用工具的用法

哈喽,各位小伙伴们,你们好呀,我是喵手。 今天我要给大家分享一些自己日常学习到的一些知识点,并以文字的形式跟大家一起交流,互相学习,一个人虽可以走的更快,但一群人可以走的更远。 我是一名后…

Android使用ProtoBuf 适配 gradle7.5 gradle8.0

ProtoBuf 适配 Gradle7.5 gradle-wrapper.properties 配置 distributionUrlhttps\://services.gradle.org/distributions/gradle-7.5-bin.zipProject:build.gradle: plugins {id com.android.application version 7.4.2 apply falseid com.android.library versio…

【智能算法】囊状虫群算法(TSA)原理及实现

目录 1.背景2.算法原理2.1算法思想2.2算法过程 3.结果展示4.参考文献 1.背景 2020年,S Kaur等人受到囊状虫群自然行为启发,提出了囊状虫群算法(Tunicate Swarm Algorithm, TSA)。 2.算法原理 2.1算法思想 TSA模拟了囊状虫群在导…

2分钟自己写小游戏:使用js和css编写石头剪刀布小游戏、扫雷小游戏、五子棋小游戏。新手老手毕业论文都能用。

系列文章目录 【复制就能用1】2分钟玩转轮播图,unslider的详细用法 【复制就能用2】css实现转动的大风车,效果很不错。 【复制就能用3】2分钟自己写小游戏:剪刀石头布小游戏、扫雷游戏、五子棋小游戏 【复制就能用4】2024最新智慧医疗智慧医院大数据…

【介绍下OneFlow概念清单】

🌈个人主页: 程序员不想敲代码啊 🏆CSDN优质创作者,CSDN实力新星,CSDN博客专家 👍点赞⭐评论⭐收藏 🤝希望本文对您有所裨益,如有不足之处,欢迎在评论区提出指正,让我们共…

61、回溯-分割回文串

思路: 还是全排列的思路,列出每一种组合,然后验证是否是回文,如果是子串放入path中,在验证其他元素是否也是回文。代码如下: class Solution {// 主方法,用于接收一个字符串s并返回所有可能的…

【GO】命令行解析 os 与 flag

目录 OS解析命令 简单用法 进阶用法 flag命令解析 基础实例 1. 自定义数据类型 2. 创建多个 FlagSet 3. 整合环境变量和配置文件 os与flag 关键点解析 程序的作用 示例命令行调用 在 Go 语言中,命令行解析是一项基本且常用的功能,它允许开发者…

玄子Share-Shell编程之条件语句

玄子Share-Shell编程之条件语句 条件测试操作 test命令 测试表达式是否成立,若成立返回0,否则返回其他数值 格式1:test 条件表达式 格式2:[ 条件表达式 ] # 至少应有一个空格文件测试 [ 操作符 文件或目录 ][rootlocal…

[Algorithm][模拟][替换所有问号][提莫攻击][N字形变换][外观数列][数青蛙] + 模拟原理详细讲解

目录 0.原理讲解1.替换所有的问号1.题目链接2.代码实现 2.提莫攻击1.题目链接2.算法原理详解3.代码实现 3.N 字形变换1.题目链接2.算法原理详解3.代码实现 4.外观数列1.题目链接2.算法原理详解3.代码实现 5.数青蛙1.题目链接2.算法原理详解3.代码实现 0.原理讲解 模拟&#xf…

实现SpringMVC底层机制(一)

文章目录 1.环境配置1.创建maven项目2.创建文件目录3.导入jar包 2.开发核心控制器文件目录1.流程图2.编写核心控制器SunDispatcherServlet.java3.类路径下编写spring配置文件sunspringmvc.xml4.配置中央控制器web.xml5.配置tomcat,完成测试1.配置发布方式2.配置热加…

Vue入门篇:生命周期,钩子函数,工程化开发Vue(脚手架安装),组件化开发(全局注册,局部注册)

目录 1.Vue生命周期和生命周期的四个阶段2.Vue生命周期函数(钩子函数)3.工程化开发&脚手架Vue CLI1.在powershell管理员权限下打开命令行安装脚手架:2.查看vue版本:3.创建项目架子4.运行项目 4.组件化开发&根组件1.App.vue文件&#…

JavaSE字节缓冲流

欢迎来到 请回答1024 的博客 🍓🍓🍓欢迎来到 请回答1024的博客 关于博主: 我是 请回答1024,一个追求数学与计算的边界、时间与空间的平衡,0与1的延伸的后端开发者。 博客特色: 在我的博客中&a…

解决minIO 文件上传回显报 403 问题

一、问题描述: minIO 上传文件回显时 提示 403 Forbidden 二、问题原因: minIO 中文件相对应的 buckets 权限问题造成 三、解决办法: 进入 minIO 控制台,将 buckets 中 access Policy 改为 public

监听器模式(三)

一、介绍 监听器模式是一种软件设计模式,在对象的状态发生改变时,允许依赖它的其他对象获得通知。在Java中,可以使用接口和回调机制来实现监听器模式。 二、代码实例 1、事件Event类 package com.xu.demo.listener;// 事件类 public class…

go设计模式之抽象工厂模式

抽象工厂模式 提供一个创建一系列相关或相互依赖对象的接口,而无需指定它们具体的类。 工厂方法模式通过引入工厂等级结构,解决了简单工厂模式中工厂类职责太重的问题,但由于工厂方法模式中的每个工厂只生产一类产品,可能会导致…

【禅道客户案例】同方智慧能源数智化转型新实践 禅道助力前行

同方智慧能源是同方股份有限公司的骨干企业。依托中核集团、清华大学的科技优势,坚持技术和资源双核驱动,基于30多年行业积淀,面向建筑、交通、工业、北方供热、数据中心等主要用能场景提供设计咨询、产品技术、投资建设、运营服务&#xff0…

每天一题crypto(8)---RSA(相邻素数)

题目: p getPrime(512) q gmpy2.next_prime(p) from Crypto.Util.number import * import gmpy2 flag bNSSCTF{******}p getPrime(512) q gmpy2.next_prime(p) n p*q e 65537 phi (p-1)*(q-1)m bytes_to_long(flag)c pow(m, e, n)print(fn {n}) print(f…

Linux网络编程---多进/线程并发服务器

一、多进程并发服务器 实现一个服务器可以连接多个客户端,每当accept函数等待到客户端进行连接时 就创建一个子进程 思路分析: 核心思路:让accept循环阻塞等待客户端,每当有客户端连接时就fork子进程,让子进程去和客户…

【调研分析】机器视觉及其系统

机器视觉 定义 机器视觉主要利用计算机模拟人的视觉功能,但不仅限于人眼的简单延伸,而是具备人脑的部分功能,即从客观事物的图像中提取信息、进行处理并加以理解,从而应用于实际的检测识别、测量和控制过程。 机器视觉系统组成 …