Linux系统安全及应用(1)

目录

一.账号安全控制

系统账号清理

二.密码安全控制

密码安全控制

三.命令历史限制

命令历史限制

四.限制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 ~]# history1  ifconfig2  ifconfig ens333  vi ens334  vi /etc/sysconfig/network-scrip/ifcfg-ens335  ping baidu.com6  ifconfig ens337  help ens338  help ip9  man -k ens3310  vi /etc/sysconfig/network-scripts/ifcfg-ens3311  systemctl restart network12  ping baidu.com13  ipconfig ens3314  ifconfig ens3315  mount /dev/sr0 /mnt16  mount /dev/sr0/ mnt17  df18  cd /boot19  cd grub2/20  ls21  mount/dev/sr0 /mnt22  mount/dev/sr0/ mnt23  mount /dev/sr0/ mnt24  mount /dev/sr0 /mnt25  mount /dev/sr0/ mnt26  df27  mount /dev/sr0/ mnt28  mount/dev/sr0/ mnt29  mount/dev/sr0 /mnt30  mount /dev/sr0 /mnt31  df32  cd /etc/yum.repo.d/33  cd/etc/yum.repo.d/34   cd /etc/yum.repos.d/35  mkdir repo.bak36  mv *.repo repo.bak37  vim local.repo38  yum clean all && yum makecache39  yum install -y httpd40  dd if=/dev/zero of=/dev/sda bs=446 count=141  init 642  fdsik /dev/sdb43  fdisk /dev/sdb44  cd /tmp45  ]# cp /dev/sr0   /tmp & nohup46  ]nohup cp /dev/sr0   /tmp &47  nohup ./catalina.sh run &48  cd /tmp49  df50  mount /dev/sr0 /mnt51  cd /etc/yum.repos.d/52  mkdir repos.bak53  mv *.repo repos.bak54  vim55  vim local.repo56  yum clean all && yum makecache57  cd58  yum install -y httpd59  vim local.repo60  yum clean all && yum makecache61  df62  cp /dev/sr0   /tmp63  cp /dev/sr0   /tmp &64  y65  ll -h66  cd /tmp67  ll -h68  ll -l69  ls70  ll -h71  crontab -l72  systemctl status crond.service73  crontab -e 74  crontab -l75  cd /var/spool/cron 76  cat root77  echo '30 7 * * 6 /usr/bin/systemctl httpd restart' >> /var/spool/cron/root78  crontab -l79  crontab -e #打开crontab80  groupadd -g 666 lll81  groupadd -g 666 llll82  useradd 12383  useradd 78984  useradd abc85  gpasswd -a abc llll86  gpasswd -d abc llll87  groupdel llll88  chattr +i /etc/passwd89  lsattr /etc/passwd 90  ll /etc/passwd91  echo 1111 >> /etc/passwd 92  chattr +i /etc/shadow93  useradd lisi94  echo 123123 | passwd --stdin lll95  userdel lll96  chattr -i /etc/passwd /etc/shadow 97  lsattr /etc/passwd 98  chage -M 30 lll99  vim /etc/shadow100  chage -M 35 lll101  tail /etc/shadow102  useradd lgd103  vim /etc/shadow104  vim /etc/login.defs105  useradd lgd2106  echo 123 | passwd --stdin lgd2107  chage -d 0 lgd2108  tail /etc/shadow109  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: ADMINDefaults 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.mzph.cn/news/829286.shtml

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

相关文章

android 上传视频

1.在页面按钮或图标控件中添加点击事件,并调用选择文件动作 //点击图片选择视频按钮事件public void uploadvideo(View view){Intent intent new Intent(Intent.ACTION_GET_CONTENT); // 选择文件动作intent.setType("video/*"); …

python数据分析与可视化

Python数据分析与可视化是数据科学领域的重要技能,它涉及到使用Python语言及其丰富的库来分析数据、提取信息、并将其转换为易于理解的图表和图形。以下是Python数据分析与可视化的一些关键点: ### 1. 数据分析库 - **Pandas**:用于数据处理…

IDEA离线安装插件

1、下载地址 https://plugins.jetbrains.com/idea 如果去其他编辑器,点击下拉,选择即可。 2.搜索 在输入框输入关键词,按照提示选择即可,点击搜索按钮,查看结果。 3、选择版本 按照自己的版本选择合适的版本 4、安…

8086:qemu执行汇编

正文 环境:macOS M1。 QEMU(Quick EMUlator)是一个开源的虚拟机监视器,可以模拟多种硬件平台,包括处理器架构、设备和操作系统。QEMU具有以下主要功能和用途: 硬件模拟器:QEMU可以模拟多种处理…

TP8 利用jwt 生成token

使用Composer安装依赖库&#xff0c;终端切换到项目根目录输入如下 composer require firebase/php-jwt 下面是示例代码&#xff1a; <?php namespace app\common\base;use Firebase\JWT\JWT; use Firebase\JWT\Key;class Token {/*** 创建 token* param array $data 必填…

linux的SSH(远程登录)服务

目录 1.SSH远程管理 1.1 SSH的概述 1.2 OpenSSH服务器 1.3 SSH端口、配置文件 2.服务端重要配置 3.登录验证方式 3.1 密码验证 3.2 密钥对验证 4.使用 SSH 客户端程序 4.1 ssh 远程登录 4.2 scp 远程复制 4.3 sftp文件传输 5.创建使用密钥对 6.TCP Wrappers访问控…

CLIP论文笔记:Learning Transferable Visual Models From Natural Language Supervision

导语 会议&#xff1a;ICML 2021链接&#xff1a;https://proceedings.mlr.press/v139/radford21a/radford21a.pdf 当前的计算机视觉系统通常只能识别预先设定的对象类别&#xff0c;这限制了它们的广泛应用。为了突破这一局限&#xff0c;本文探索了一种新的学习方法&#x…

机器学习之sklearn基础教程

Scikit-learn&#xff08;简称sklearn&#xff09;是一个广泛使用的机器学习库。 1. **安装sklearn**&#xff1a;推荐使用Anaconda进行安装&#xff0c;以避免配置和环境问题。也可以直接通过pip命令安装&#xff1a;pip install scikit-learn。 2. **数据集生成**&#xff1…

如何在 CentOS VPS 上配置 vsftpd 使用 SSL/TLS

介绍 FTP&#xff08;文件传输协议&#xff09;是一种在本地和远程服务器之间传输文件的方式。尽管非常流行和普遍&#xff0c;但由于其设计中固有的安全性缺失&#xff0c;使用这种文件传输方法已经不再受欢迎。 一个非常有能力的替代方案是SFTP&#xff0c;如上所述。该协议…

conda修改当前环境中的python版本

1. 首先查看当前的python版本 python -V 2. 进入已经激活的conda环境&#xff0c;搜索库中有无想要的python版本(若有想安装的版本可跳过) conda search --full --name python 3. 安装库中存在且符合要求的python版本即可(以python3.8.1为例) conda install python3.8.1

深度学习的模型转换(.pt转换为.engine)

缘由 最近观察发现,深度学习的例子有很多,但是模型的转换总是有很多问题,没有一个标准的转换方法。有的是直接用YOLO里面自带的export.py进行转换,也有的人利用TensorRT里面的bin文件夹的trtexec.exe转换,结果两种转换之后的格式不一样。所以最近就整理了网上的转换办法,…

springboot WebSocket的用法

Spring Boot中使用Java API创建WebSocket 添加WebSocket的依赖项 <dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-websocket</artifactId> </dependency>创建WebSocket端点 import javax.webs…

sqlite 附加(attach database)加密数据库时,返回26是什么原因呢?

&#x1f3c6;本文收录于「Bug调优」专栏&#xff0c;主要记录项目实战过程中的Bug之前因后果及提供真实有效的解决方案&#xff0c;希望能够助你一臂之力&#xff0c;帮你早日登顶实现财富自由&#x1f680;&#xff1b;同时&#xff0c;欢迎大家关注&&收藏&&…

Linux线程(pthread)概念以及编程

pthread 线程的意思 1.简的来说&#xff0c;线程的概念就是在一个程序中&#xff0c;同时进行多个函数的运行比如以下代码 2.要引入头文件#include <pthread.h> ; 线程被调函数的定义是空指针类型的如&#xff1a; void *func1() 在main函数中&#xff0c;pthread_cre…

【软件】ERETCAD-Env:在轨空间环境3D动态仿真软件

文章介绍了Extreme-environment Radiation Effect Technology Computer-Aided Design – Environment (ERETCAD-Env)软件&#xff0c;文章的介绍和展示了ERETCAD-Env软件的功能和特点&#xff0c;这是一款用于动态模拟在轨卫星所处空间环境的计算机辅助设计软件。强调了该软件在…

Rust异步并发编程tokio异步运行时讲解和使用,新手必学

Rust 在v1.39版本以后就引入了async关键字&#xff0c;用于支持异步编程。 async fn foo() {}Rust中&#xff0c;async函数或块会被视作一个 Future 对象&#xff0c;async 关键字只是用来定义这个 Future 对象&#xff0c;定义好的这片异步代码并不会自动执行&#xff0c;而是…

c语言指针的应用场景

​ 1.什么是指针&#xff1f; 当我们提起指针的时候&#xff0c;可能第一反应会露出惊喜的表情 &#xff08;但是我们其实没必要那么慌&#xff0c;因为当我们随着我们学习的越来越深入就会发现&#xff0c;指针虽然看起来难&#xff0c;实际上也不怎么简单。哈哈哈开玩笑的&a…

macos vscode 激活虚拟环境

用 source activate activate的路径报错 解决&#xff1a;cd到activate下的文件下 直接source activate 解决 (base) dearrdearrdeMacBook-Air 时序作业 % /Applications/文件/派森/时序作业/.venv/bin/activat zsh: no such file or directory: /Applications/文件/派森/时…

TCN-LSTM时间卷积网络长短期记忆网络多输入多输出回归预测

文章目录 效果一览文章概述 订阅专栏只能获取一份代码部分源码参考资料 效果一览 文章概述 TCN-LSTM时间卷积网络长短期记忆网络多输入多输出回归预测 matlab2021 订阅专栏只能获取一份代码 部分源码 %------------------------------------------------------------------…

c# winform打包

本次采用vs2022打包winform窗体应用&#xff0c;有时应用不需要打包为安装应用&#xff0c;执行一个EXE就运行了 测试了几次&#xff0c;winform 非.net Framework 和控制台程序也是非.net Framework项目能打包这种&#xff0c;后续在研究