linux 关闭权限验证,Linux 账户安全与控制
文章目录
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 账户安全与控制相关推荐
- linux文件权限754,Linux文件权限
Linux文件权限 在Linux中,对系统服务的文件通常只有root才能读写或执行. 说明:Linux记录用户身份的是UID(用户ID)和GID(群组ID),root的两个ID号均为0,一般用户的两个 ...
- Linux系列教程——Linux基本权限、Linux特殊权限、LinuxACL控制、Linux输入输出
文章目录 1 Linux基本权限 1.权限基本概述 1.什么是权限? 2.为什么要有权限? 3.权限与用户之间的关系? 4.权限中的rwx分别代表什么含义? 2.权限设置示例 1.为什么要设定权限,我 ...
- linux文件权限记录,linux文件权限学习记录
linux文件权限学习记录 1.Linux 的安全性 1.1/etc/passwd 文件 存放用户的登录名以及相关信息#cat / etc / passwd root: x: 0 : 0 : roo ...
- linux组权限管理,Linux组管理和权限管理
⒈Linux组基本介绍 1)在Linux中的每个用户必须属于一个组,不能独立于组外. 2)Linux中每个文件都有所有者.所在组.其它组的概念 ①所有者 一般(默认)为文件的创建者,谁创建了该文件,就 ...
- linux关闭防火墙stop,linux如何关闭防火墙
我的linux不想开启防火墙了,想要关闭,该怎么办呢?下面由学习啦小编给你做出详细的linux关闭防火墙方法介绍!希望对你有帮助! linux关闭防火墙方法一: 重启后生效 开启: chkconfig ...
- linux关闭硬件蜂鸣器,linux 关闭主板上的蜂鸣器声音
Android中隐藏顶部状态栏的那些坑--Android开发之路3 Android中隐藏顶部状态栏的那些坑 先看看常规的隐藏状态栏的方法: 方法一: @Override protected void ...
- Linux关闭java命令,Linux系统关闭或重新启动主机的命令详解
即使现在Linux系统基本都是相对稳定,但有时候驱动程序和应用程序也可能存在一些小问题,这时就需要重新启动Linux系统主机,今天美联科技就来讲解下,关闭或重新启动Linux系统的几个实用命令. 1. ...
- LINUX修改权限modify,linux文件权限查看及修改(实用)(View and modify Linux file permissions (practical)).doc...
linux文件权限查看及修改(实用)(View and modify Linux file permissions (practical)) linux文件权限查看及修改(实用)(View and m ...
- 【Linux分组权限】linux下创建用户分组及设置分组权限
Linux分组权限 一.Linux分组介绍 二.文件权限以及分组权限设置 三.案例练习 四.参考 一.Linux分组介绍 1.用户组 在linux中的每个用户必须属于一个组,不能独立于组外.在linu ...
最新文章
- 树莓派上传文件到服务器,05_树莓派图片定时上传到服务器
- 基于ESP32智能车竞赛比赛系统硬件初步调试-5-6
- java输入字符数组_JAVA中怎样把用户输入的字符串存入数组中?
- POJ 3159[差分约束]
- moss自定义内容查询webpart
- elasticSearch6源码分析(9)ActionModule
- mysql分区失败_MYSQL表分区操作错误1503解决方案
- 2017广西邀请赛重现赛
- 985研究生连论文都不会写,还面试什么大厂
- 面试官:谈谈数据库连接池的原理
- linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案
- QT TextEdit设置背景、明文加密、弹出网站、弹出自定义对话框、gif动态图片、程序启动动画、打包程序、关闭事件
- input 文本框和 img 验证码对齐问题
- shell判断进程使用CPU时间后kill进程
- Electron —— Cannot find module ‘index.js’
- 正弦余弦优化算法[记录]
- 行业分析报告|全球与中国项目货物物流市场现状及未来发展趋势
- Docker学习(二)进阶
- TSX常见简单用法(入门) Vue3+Vite
- TensorBoard对训练过程可视化(不用tf.summaries.merge_all)
热门文章
- 【Python小程序】这竟是2月14号情人节表白神器、成功率100%?(进来康康)
- python中__init__和__new__方法的使用
- linux两个网段默认网关_Linux下配置多网卡多网关
- 异常记录(CPU产生的异常和软件模拟产生的异常)
- ctf之py反编译求p*q%n==1
- 017 Android加固之APK混淆和保护方式
- Android 布局属性 Android:layout_weight 总结
- 【PHP】创建文件并写入内容
- 8、使用SELECTI...INTO OUTFILE导出表数据
- 1.1 Java异常(Exception)处理及常见异常