文章目录

chattr命令(锁定账户信息、用户密码文件)

锁定单用户的密码(usermod、useradd)

**方法一:锁定用户密码**

**方法二:锁定该用户**

设置用户密码有效期(新建用户,已有用户)

方法一:对于还未创建的账户可以通过修改login.defs文件来实现对将要创建的账户的有效期设置

方法二:对于已经创建了的账户使用chage命令更改密码有效期

用户下次登陆时强制修改密码

禁止用户登陆的几种方法

方法一:修改/etc/shadow文件,在密码字符串前加上一个或两个感叹号

方法二:禁止除root以外的所有普通用户登陆

查看历史命令 history

1、限制显示历史执行过的命令

2、退出终端时自动清除历史命令

用户超时自动注销

使用su命令切换用户

限制使用su命令的用户

★PAM安全认证

PAM认证原理

PAM认证的构成

PAM安全认证流程

使用sudo机制提升权限

chattr命令(锁定账户信息、用户密码文件)

[root@localhost ~]# chattr +i /etc/passwd /etc/shadow ##锁定passwd与shadow两个与账户相关的配置文件,使其不能被修改

[root@localhost ~]# lsattr /etc/passwd /etc/shadow ##查看两个文件的属性(发现有i)

----i----------- /etc/passwd

----i----------- /etc/shadow

[root@localhost ~]# chattr -i /etc/passwd /etc/shadow ##解锁两个配置文件

[root@localhost ~]# lsattr /etc/passwd /etc/shadow ##再次查看配置文件属性(发现i没有了)

---------------- /etc/passwd

---------------- /etc/shadow

锁定单用户的密码(usermod、useradd)

方法一:锁定用户密码

#假设现在我们有个用户名为tom的普通用户账号,使用passwd命令可以锁定其用户密码,使之不能从终端登录。

[root@localhost ~]# passwd -l tom

锁定用户 tom 的密码 。

passwd: 操作成功

[root@localhost ~]# cat /etc/shadow

tom:!!$6$tbEutCW6$GwmMKaxNK.r0gsuB0CNuhrnYpvykPm8/a.pUd2Kf4iuxF5ZB8vSXMDy8xiMey8f12kkn3f8tAg8hNw6RXSAFF/:18444:0:0:7:::

#查看shadow文件看到用户tom用户的后面有两个感叹号,说明该用户密码已经锁定不能登录

#现在希望解锁该用户,使用以下命令:

[root@localhost ~]# passwd -u tom

解锁用户 tom 的密码。

passwd: 操作成功

方法二:锁定该用户

#还是刚才的tom用户,我们这次使用usermod命令来操作。

[root@localhost ~]# usermod -L tom

[root@localhost ~]# cat /etc/shadow

tom:!$6$tbEutCW6$GwmMKaxNK.r0gsuB0CNuhrnYpvykPm8/a.pUd2Kf4iuxF5ZB8vSXMDy8xiMey8f12kkn3f8tAg8hNw6RXSAFF/:18444:0:0:7:::

#我们发现tom用户后面有一个感叹号,这时候使用tom用户无法登陆

#现在希望解锁该用户,使用以下命令:

[root@localhost ~]# usermod -U tom

举一反三:那么,既然passwd -l 与usermod -L 都可以锁定用户,那么在解锁用passwd锁定的账户时使用usermod命令呢?下面我们来实验:

#先使用passwd锁定用户密码

[root@localhost ~]# passwd -l tom

#再使用usermod命令解锁

[root@localhost ~]# usermod -U tom

#解锁后尝试登陆tom,发现可以登录,说明passwd与usermod的锁定与解锁是可以通用的。

设置用户密码有效期(新建用户,已有用户)

方法一:对于还未创建的账户可以通过修改login.defs文件来实现对将要创建的账户的有效期设置

vi /etc/login.defs

#找到 PASS_MAX_DAYS 这一行,将后面的9999 改成30

PASS_MAX_DAYS 30 #现在密码最长有效期从永不过期变成了30天

方法二:对于已经创建了的账户使用chage命令更改密码有效期

密码有效期:chage -M 30 tom

用户下次登陆时强制修改密码

[root@localhost ~]# chage -d 0 tom #当tom用户重新登录时会提示强制修改密码后才能登录

禁止用户登陆的几种方法

方法一:修改/etc/shadow文件,在密码字符串前加上一个或两个感叹号

[root@localhost /]# vi /etc/shadow

tom:!!$6$Str1t6ks$hk6otJqguzoA.v5bhf6AB1bsueoDiLIK3.Gm7Un1.4iQo20idkRIWoAdRCaOIiHwPSPuhJgCldn1VqzqqSlBn.:18445:0:99999:7:::

方法二:禁止除root以外的所有普通用户登陆

[root@localhost /]# touch /etc/nologin ##在etc目录下创建一个空白的nologin文件

【注意】:主要该文件存在,只能root用户登陆!该方法经常用于在服务器维护时使用

【小技巧】:我们可以编辑nologin文件在其中添加内容,这样别人在使用终端登录时页面就会提示。

例:echo "系统正在维护中,请稍后再试!" > /etc/nologin

查看历史命令 history

1、限制显示历史执行过的命令

[root@localhost /]# vi /etc/profile ##编辑配置文件

找到 HISTSIZE 这一行,默认是1000,我们可以修改成自己想要的值,编辑完后保存并退出

2、退出终端时自动清除历史命令

[root@localhost /]# vi ~/.bash_logout ##编辑配置文件

##添加如下两行:

history -c

clear

用户超时自动注销

在root用户家目录下编辑.bash_profile文件,在最下面添加一行命令即可

vi ~/.bash_profile

export TMOUT=600 ##单位是秒

source .bash_profile ##重新加载配置文件

使用su命令切换用户

用途及用法

用途:Subsitute User,切换用户

格式:su -目标用户

密码验证

​ root→任意用户,不验证密码

​ 普通用户→其他用户,验证目标用户的密码

[root@localhost ~]# su - tom ##从root用户切换到tom账户

[tom@localhost ~]$ su - ##从tom账号切换回root

密码:

限制使用su命令的用户

将允许使用su命令的用户加入wheel组

启用pam_wheel认证模块 (配置文件:/etc/pam.d/su)

gpasswd -a tom wheel #将tom用户添加到wheel组

选项:-a:添加用户到组

查看su操作记录:记录在安全日志文件中,路径:/var/log/secure

★PAM安全认证

su命令的安全隐患

​ 默认情况下,任何用户都允许使用su命令,有机会反复尝试其他用户(如root)的登录密码,带来安全风险。为了加强su命令的使用控制,可借助PAM认证模块,只允许极个别用户使用su命令进行切换

PAM(Pluggable Authentication Modules)可插拔式认证模块

​ 是一种高效而且灵活便利的用户级别的认证方式

​ 也是当前Linux服务器普遍使用的认证方式

PAM认证原理

一般遵循的顺序:Service(服务)→PAM(配置文件)→pam_*.so

首先要确定哪一项服务,然后加载相应的PAM的配置文件,(位于/etc/pam.d下),最后调用认证文件(位于/lib/security下)进行安全认证

用户访问服务器时,服务器的某个服务程序把用户的请求发送到PAM模块进行认证

不同的应用程序所对应的PAM模块是不同的

PAM认证的构成

查看某个程序是否支持PAM认证,可以用ls命令

ls /etc/pam.d | grep su ##查看su命令是否支持PAM认证

查看su的PAM配置文件:cat /etc/pam.d/su

每一行都是一个独立的认证过程

每一行可以区分为三个字段:认证类型、控制类型、PAM模块及参数

PAM安全认证流程

控制类型也称作Control Flags,用于PAM验证类型的返回结果

​ 1、required验证失败时仍然继续,但返回Fail

​ 2、requisite验证失败则立即结束整个验证过程,返回Fail

​ 3、sufficien验证成果则立即返回,不再继续。否则忽略结果并继续

​ 4、optional不用于验证,只显示信息(通常用于session类型)

图1

使用sudo机制提升权限

su命令的缺点

sudo命令的用途及用法

用途:以其他用户身份(如root)执行授权的命令

sudo 授权命令

配置sudi授权

visudo 或者 vi /etc/sudoers

记录格式:用户 主机名列表=命令程序列表

查看sudo操作记录

需启用Defaults logfile 配置

默认日志文件:/var/log/sudo

使用sudo机制提升权限

su命令的缺点

sudo命令的用途及用法

用途:以其他用户身份(如root)执行授权的命令 sudo 授权命令

配置sudi授权

visudo 或者 vi /etc/sudoers

记录格式:用户 主机名列表=命令程序列表

查看sudo操作记录

需启用Defaults logfile 配置

默认日志文件:/var/log/sudo

查询授权的sudo操作:sudo -l

linux 关闭权限验证,Linux 账户安全与控制相关推荐

  1. linux文件权限754,Linux文件权限

    Linux文件权限 在Linux中,对系统服务的文件通常只有root才能读写或执行. 说明:Linux记录用户身份的是UID(用户ID)和GID(群组ID),root的两个ID号均为0,一般用户的两个 ...

  2. Linux系列教程——Linux基本权限、Linux特殊权限、LinuxACL控制、Linux输入输出

    文章目录 1 Linux基本权限 1.权限基本概述 1.什么是权限? 2.为什么要有权限? 3.权限与用户之间的关系? 4.权限中的rwx分别代表什么含义? 2.权限设置示例 1.为什么要设定权限,我 ...

  3. linux文件权限记录,linux文件权限学习记录

    linux文件权限学习记录 1.Linux 的安全性 1.1/etc/passwd 文件 存放用户的登录名以及相关信息#cat  / etc / passwd root: x: 0 : 0 : roo ...

  4. linux组权限管理,Linux组管理和权限管理

    ⒈Linux组基本介绍 1)在Linux中的每个用户必须属于一个组,不能独立于组外. 2)Linux中每个文件都有所有者.所在组.其它组的概念 ①所有者 一般(默认)为文件的创建者,谁创建了该文件,就 ...

  5. linux关闭防火墙stop,linux如何关闭防火墙

    我的linux不想开启防火墙了,想要关闭,该怎么办呢?下面由学习啦小编给你做出详细的linux关闭防火墙方法介绍!希望对你有帮助! linux关闭防火墙方法一: 重启后生效 开启: chkconfig ...

  6. linux关闭硬件蜂鸣器,linux 关闭主板上的蜂鸣器声音

    Android中隐藏顶部状态栏的那些坑--Android开发之路3 Android中隐藏顶部状态栏的那些坑 先看看常规的隐藏状态栏的方法: 方法一: @Override protected void ...

  7. Linux关闭java命令,Linux系统关闭或重新启动主机的命令详解

    即使现在Linux系统基本都是相对稳定,但有时候驱动程序和应用程序也可能存在一些小问题,这时就需要重新启动Linux系统主机,今天美联科技就来讲解下,关闭或重新启动Linux系统的几个实用命令. 1. ...

  8. LINUX修改权限modify,linux文件权限查看及修改(实用)(View and modify Linux file permissions (practical)).doc...

    linux文件权限查看及修改(实用)(View and modify Linux file permissions (practical)) linux文件权限查看及修改(实用)(View and m ...

  9. 【Linux分组权限】linux下创建用户分组及设置分组权限

    Linux分组权限 一.Linux分组介绍 二.文件权限以及分组权限设置 三.案例练习 四.参考 一.Linux分组介绍 1.用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linu ...

最新文章

  1. 树莓派上传文件到服务器,05_树莓派图片定时上传到服务器
  2. 基于ESP32智能车竞赛比赛系统硬件初步调试-5-6
  3. java输入字符数组_JAVA中怎样把用户输入的字符串存入数组中?
  4. POJ 3159[差分约束]
  5. moss自定义内容查询webpart
  6. elasticSearch6源码分析(9)ActionModule
  7. mysql分区失败_MYSQL表分区操作错误1503解决方案
  8. 2017广西邀请赛重现赛
  9. 985研究生连论文都不会写,还面试什么大厂
  10. 面试官:谈谈数据库连接池的原理
  11. linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案
  12. QT TextEdit设置背景、明文加密、弹出网站、弹出自定义对话框、gif动态图片、程序启动动画、打包程序、关闭事件
  13. input 文本框和 img 验证码对齐问题
  14. shell判断进程使用CPU时间后kill进程
  15. Electron —— Cannot find module ‘index.js’
  16. 正弦余弦优化算法[记录]
  17. 行业分析报告|全球与中国项目货物物流市场现状及未来发展趋势
  18. Docker学习(二)进阶
  19. TSX常见简单用法(入门) Vue3+Vite
  20. TensorBoard对训练过程可视化(不用tf.summaries.merge_all)

热门文章

  1. 【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
  2. python中__init__和__new__方法的使用
  3. linux两个网段默认网关_Linux下配置多网卡多网关
  4. 异常记录(CPU产生的异常和软件模拟产生的异常)
  5. ctf之py反编译求p*q%n==1
  6. 017 Android加固之APK混淆和保护方式
  7. Android 布局属性 Android:layout_weight 总结
  8. 【PHP】创建文件并写入内容
  9. 8、使用SELECTI...INTO OUTFILE导出表数据
  10. 1.1 Java异常(Exception)处理及常见异常