linux防护与集群——系统安全及应用

一、账号安全控制:

用户账号是计算机使用者的身份凭证或标识,每个要访问系统资源的人,必须凭借其用户账号才能进入计算机。在Linux系统中,提供了多种机制来确保用户账号的正当、安全使用

1.1 基本安全措施:

在Linux系统中.除了用户手动创建的各种账号之外,还包括随系统或程序安装过程而生成的其他大量账号.除了超级用户rool之外.其他大量账号只是用来维护系统运作、启动或保持服务进程.一般是不允许登录的.因此也称为非登录用户账号.
对于Linux服务器中长期不用的用户账号,若无法确定是否应该删除.可以暂时将其锁定.例如.若要锁定.解锁名为wei的用户账号.可以执行以下操作〈(passwd、usermod命令都可用来锁定.解锁账号).

[root@localhost ~]# passwd -S wei     ##查看账号状态
wei PS 2023-12-27 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

[root@localhost ~]# usermod -L wei   ##锁定账号

[root@localhost ~]# passwd -S wei
wei LK 2023-12-27 0 99999 7 -1 (密码已被锁定)

[root@localhost ~]# usermod -U wei  ##解锁账号

[root@localhost ~]# passwd -S wei
wei PS 2023-12-27 0 99999 7 -1 (密码已设置,使用 SHA512 算法。)

如果服务器中的用户账号已经固定.不再进行更改,还可以采取锁定账号配置文件的方法.使用chattr命令,分别结合“+i""-i”选项来锁定、解锁文件.使用lsattr命令可以查看文件锁定情况。

[root@localhost ~]# chattr +i /etc/passwd /etc/shadow  ##锁定文件

[root@localhost ~]# lsattr /etc/passwd /etc/shadow   ##查看锁定文件的状态
----i----------- /etc/passwd
----i----------- /etc/shadow
[root@localhost ~]# chattr -i /etc/passwd /etc/shadow  ##解锁锁定文件
[root@localhost ~]# lsattr /etc/passwd /etc/shadow
---------------- /etc/passwd
---------------- /etc/shadow
[root@localhost ~]# 

在账号文件被锁定的情况下,其内容将不允许变更.因此无法添加、删除账号,也不能更改用户的密码.登录 Shell、宿主目录等属性信息.

[root@localhost ~]# chattr +i /etc/passwd /etc/shadow
[root@localhost ~]# useradd billgate
useradd:无法打开 /etc/passwd

1.2 密码安全控制:

在不安全的网络环境中.为了降低密码被猜出或被暴力破解的风险.用户应养成定期更改密码的习惯.避免长期使用同一个密码。管理员可以在服务器端限制用户密码的最大有效天数,对于密码已过期的用户,登录时将被要求重新设置密码.否则将拒绝登录。

[root@localhost ~]# vim /etc/login.defs  ##适用新用户
PASS_MAX_DAYS   30

[root@localhost ~]# chang -M 30 lisi  ##适用已有lisi用户

在某些特殊情况下.如要求批量创建的用户初次登录时必须自设密码.根据安全规划统一要求所有用户更新密码等,可以由管理员执行强制策略.以便用户在下次登录时必须更改密码。例如.执行以下操作可强制要求用户wei下次登录时重设密码.

[root@localhost ~]# chage -d 0 wei

1.3命令历史、自动注销: 

Shell环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在的风险.只要获得用户的命令历史文件.该用户的命令操作过程将会一览无余.如果曾经在命令行输入明文的密码.则无意之中服务器的安全壁垒又多了一个缺口。

Bash终端环境中.历史命令的记录条数由变量HISTSIZE控制.默认为1000 条。通过修改/etc/profile文件中的HISTSIZE变量值.可以影响系统中的所有用户.例如,可以设置最多只记录200条历史命令

[root@localhost ~]# export HISTSIZE=200

除此之外.还可以修改用户宿主目录中的~/ .bash_logout 文件,添加清空历史命令的操作语句。这样.当用户退出已登录Bash环境以后.所记录的历史命令将自动清空.

[root@localhost ~]# vi ~/.bash_logout

history -c
clear

Bash终端环境中,还可以设置一个闲置超时时间.当超过指定的时间没有任何输入时即自动注销终端.这样可以有效避免当管理员不在时其他人员对服务器的误操作风险.闲置超时由变量 TMOUT来控制.默认单位为秒(s).

[root@localhost ~]# export TMOUT=600  ##适用当前用户

二、用户切换与提权: 

Linux系统为我们提供了su、sudo两种命令.其中 su命令主要用来切换用户,而sudo命令用来提升执行权限。

2.1 su命令——切换用户

使用su命令,可以切换为指定的另一个用户.从而具有该用户的所有权限。当然.切换时需要对目标用户的密码进行验证(从root用户切换为其他用户时除外)。

例如,当前登录的用户为 root,若要切换为wei用户,可以执行以下操作。

[root@localhost ~]# su - wei
密码:
上一次登录:三 1月  3 22:44:35 CST 2024:0 上
[wei@localhost ~]$ 

 上述命令操作中,选项“一”等同于“---login”或“一I”,表示切换用户后进入目标用户的登录Shell环境.

默认情况下,任何用户都允许使用su命令.从而有机会反复尝试其他用户(如root)的登录密码,这样带来了安全风险。为了加强su命令的使用控制,可以借助于pam_wheel认证模块.只允许极个别用户使用su命令进行切换。实现过程如下:将授权使用su命令的用户添加到 wheel组,修改/etc/pam.d/ su认证配置以启用pam_wheel认证.

[root@localhost ~]# gpasswd -a wei wheel
正在将用户“wei”加入到“wheel”组中
[root@localhost ~]# grep wheel /etc/group
wheel:x:10:wei
[root@localhost ~]# vim /etc/pam.d/su
auth            sufficient      pam_wheel.so trust use_uid  ##去掉开头的#号

auth            required        pam_wheel.so use_uid

启用pam_wheel认证以后,未加入到 wheel组内的其他用户将无法使用su命令.尝试进行切换时将提示“拒绝权限”.从而将切换用户的权限控制在最小范围内。
 

 2.2 sudo 命令——提升执行权限:

使用sudo命令就可以提升执行权限,不过,需要由管理员预先进行授权.指定允许哪些用户以超级用户(或其他普通用户)的身份来执行哪些命令.

1)在配置文件/etc / sudoers中添加授权
sudo机制的配置文件为/elc/sudoers,文件的默认权限为440,需使用专门的visudo 工具进行编辑。虽然也可以用vi进行编辑,但保存时必须执行“:w!”命令来强制操作.否则系统将提示为只读文件而拒绝保存。
配置文件/etc/sudoers中,授权记录的基本配置格式如下所示。

user MACHINE=COMMANDS

授权配置主要包括用户、主机.命令三个部分.即授权哪些人在哪些主机上执行哪些命令.各部分的具体含义如下.

用户(user):直接授权指定的用户名,或采用“%组名”的形式(授权一个组的所有用户).

主机(MACHINE),使用此配置文件的主机名称。此部分主要是方便在多个主机间共用同一份sudoers文件.一般设为localhost或者实际的主机名即可.

命令(COMMANDS);允许授权的用户通过sudo方式执行的特权命令.需填写命令程序的完整路径.多个命令之间以逗号“,”进行分隔。

典型的 sudo配置记录中,每行对应一个用户或组的sudo授权配置。

例如,若要授权用户jerry能够执行ifconfig命令来修改Р地址.而wheel组的用户无需验证密码即可执行任何命令,可以执行以下操作.

 


 


 


 

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

业务项目中Echarts图表组件的封装实践方案

背景:如果我们的项目是一个可视化类/营销看板类/大屏展示类业务项目,不可避免的会使用到各种图表展示。那在一个项目中如何封装一个图表组件既能够快速复用、UI统一,又可以灵活扩充Echarts的各种复杂配置项配置就变得极为重要。 封装目标 符…

vmware workstation的三种网络模式通俗理解

一、前言 workstations想必很多童鞋都在用,经常会用来在本机创建不同的虚拟机来做各种测试,那么对于它支持的网络模式,在不同的测试场景下应该用哪种网络模式,你需要做下了解,以便可以愉快的继续测(搬&…

1.5C语言 双曲正弦函数(*) 优化麦克劳林公式

一.传统算法 #include<stdio.h> #include<math.h> int jc(int x); int main(){double x,eps,y0.0;scanf("%lf%lf",&x,&eps);int de1,i1;double item1.0;while(fabs(item)>eps){itempow(x,i)/jc(de);i2;yitem;}printf("%.6f\n",y); …

H5 - - - - - 获取图片exif相关信息

1. EXIF是什么 【可交换图像文件格式】&#xff1a;&#xff08;英语&#xff1a;Exchangeable image file format&#xff0c;官方简称Exif&#xff09;,是专门为数码相机的照片设定的&#xff0c;可以记录数码照片的属性信息和拍摄数据。 2. EXIF 相关标识 { ApertureValu…

科研上新 | 第6期:优化LLM数学推理;深度学习建模基因表达调控;基于深度学习的近实时海洋碳汇估算

编者按&#xff1a;欢迎阅读“科研上新”栏目&#xff01;“科研上新”汇聚了微软亚洲研究院最新的创新成果与科研动态。在这里&#xff0c;你可以快速浏览研究院的亮点资讯&#xff0c;保持对前沿领域的敏锐嗅觉&#xff0c;同时也能找到先进实用的开源工具。 本期内容速览 …

redisson作为分布式锁的底层实现

1. redisson如何实现尝试获取锁的逻辑 如何实现在一段的时间内不断的尝试获取锁 其实就是搞了个while循环&#xff0c;不断的去尝试获取锁资源。但是因为latch的存在会在给定的时间内处于休眠状态。这个事件&#xff0c;监听的是解锁动作&#xff0c;如果解锁动作发生。会调用…

webrtc报文记录

tcp.port 10443 || tcp.port 6080 || udp.port 8000 https://download.csdn.net/download/dualvencsdn/88706745

flutter学习-day23-使用extended_image处理图片的加载和操作

文章目录 1. 介绍2. 属性介绍3. 使用 1. 介绍 在 Flutter 的开发过程中&#xff0c;经常会遇到图片的显示和加载处理&#xff0c;通常显示一个图片&#xff0c;都有很多细节需要处理&#xff0c;比如图片的加载、缓存、错误处理、图片的压缩、图片的格式转换等&#xff0c;如果…

面试算法97:子序列的数目

题目 输入字符串S和T&#xff0c;请计算字符串S中有多少个子序列等于字符串T。例如&#xff0c;在字符串"appplep"中&#xff0c;有3个子序列等于字符串"apple" 分析 为了解决这个问题&#xff0c;每步从字符串S中取出一个字符判断它是否和字符串T中的…

《MySQL系列-InnoDB引擎04》MySQL表相关介绍

文章目录 第四章 表1 索引组织表2 InnoDB逻辑存储结构2.1 表空间2.2 段2.3 区2.4 页2.5 行2.6 拓展&#xff1a;MySQL的varchar(n)能存储几个字符&#xff1f;占多少字节&#xff1f; 3 InnoDB行记录格式4 文件格式5 约束5.1 数据完整性5.2 约束的创建和查找5.3 约束和索引的区…

决策树--分类决策树

1、介绍 ① 定义 分类决策树通过树形结构来模拟决策过程&#xff0c;决策树由结点和有向边组成。结点有两种类型&#xff1a;内部结 点和叶结点。内部结点表示一个特征或属性&#xff0c;叶子节点表示一个类。 ② 生成过程 用决策树分类&#xff0c;从根结点开始&#xff…

UI5与后端的文件交互(三)

文章目录 前言一、开发Action1. 修改Table2. BDEF中新增Action3. 新建结构&#xff0c;用于接收uuid以及附件数据4. 实现Method逻辑 二、UI5项目修改1. 添加表格行2. 事件处理函数3. 点击文件名时的事件 三、测试 前言 这系列文章详细记录在Fiori应用中如何在前端和后端之间使…

GB∕T 33171-2016 城市交通运行状况评价规范

免登陆免积分下载地址 标准号&#xff1a;GB/T 33171-2016 中文标准名称&#xff1a;城市交通运行状况评价规范 英文标准名称&#xff1a;Specification for urban traffic performance evaluation 中国标准分类号&#xff08;CCS&#xff09;R85 国际标准分类号&#xff08;…

python的课后练习总结3(字典)

1&#xff0c;创建空字典 空字典的创建 名字 { } 1&#xff0c;字典的查 变量名 {星期一:上课,星期二:休息,星期三:吃晚饭} print(变量名[星期一]) &#xff08;1&#xff09;get( ) 语法&#xff1a; 字典序列名.get(键&#xff0c;随便写) 如果键存在&#xff0c;返回值…

CTFHub | 存储型

0x00 前言 CTFHub 专注网络安全、信息安全、白帽子技术的在线学习&#xff0c;实训平台。提供优质的赛事及学习服务&#xff0c;拥有完善的题目环境及配套 writeup &#xff0c;降低 CTF 学习入门门槛&#xff0c;快速帮助选手成长&#xff0c;跟随主流比赛潮流。 0x01 题目描述…

linux 浅练一下哈

1.新建用户test不建家目录不允许登录&#xff0c;uid为10086_____________________ useradd -u 10086 -M -s /sbin/nologin 2.将 /opt 文件夹中所有文件的属主&#xff0c;属组改成&#xff0c;test_______________________ chown -R test.test /opt chown -R …

年度最整洁的海盗3.0版本

在修改海盗3.0客户端源码的时候&#xff0c;一直都存在这样的一个问题&#xff1a; 客户端在某些特定的情况下&#xff0c;会报内存错误导致程序崩溃。 经过调试&#xff0c;发现是那个MindPower3D的dll&#xff0c;在跳转地图等情况下卸载清理内存的时候&#xff0c;会偶发出…

科普:嵌入式多核并行仿真

自信息技术革命以来&#xff0c;计算机一直被应用在各种复杂的数据处理中&#xff0c;如火箭弹道&#xff0c;高能物理和生物学数据等。随着嵌入式领域的多样化需求的不断丰富&#xff0c;多核CPU的应用也越来越广泛&#xff1a;嵌入式系统通常需要同时处理多个任务和实时数据&…

网络调试 UDP1,开发板用静态地址-入门5

https://www.bilibili.com/video/BV1zx411d7eC?p11&vd_source109fb20ee1f39e5212cd7a443a0286c5 1, 开发板连接路由器 1.1&#xff0c;烧录无OS UDP例程 1.2&#xff0c;Mini USB连接电脑 1.3&#xff0c;开发板LAN接口连接路由器 2. Ping开发板与电脑之间通信* 2.1 根据…