系统安全及应用

13 篇文章 0 订阅
2 篇文章 0 订阅

一、 账号安全及基本措施

1.将非登陆用户的shell改为sbin/nologin

  • usermod -s nologin 用户名 #禁止登录
    修改前:

    修改后:

2.锁定/解锁账户(必须要usermod和passwd一起锁,才能不会登录。管理员可以切回普通用户,普通用户之间不能随意切换)

  • usermod -L 用户名 //锁定账户

  • usermod -U 用户名 //解锁账户

  • passwd -l 用户名 //锁定账号

  • passwd -u 用户名 //解锁账户

3.删除用户

  • usedel 用户名

4.chatter 锁定账号文件(passwd,shadow)

  • lsattr /etc/passwd /etc/shadow #查看文件状态
  • chattr +i /etc/passwd /etc/shadow #锁定文件
  • chattr -i /etc/passwd /etc/shadow #解锁文件

5.修改账户的有效期

  • 对新用户而言,在配置文件修改
  • vim /etc/login.defs //修改新用户的密码有效期为30天

在这里插入图片描述

  • 新建一个用户后查看一下
    cat /etc/shadow

修改已有账户的密码有效期
chage -M 7 cfs
在这里插入图片描述

强制在下次登录时修改密码

#chage -d 0 cfs //第三个字段为0

6.命令历史限制

[root@localhost ~]# history -c //临时清除记录,重启后记录还在

临时修改当前用户的历史命令条数,然后su一下(刷新)

[root@localhost ~]# export HISTSIZE=200
[root@localhost ~]# echo $HISTSIZE 200
200 200
永久修改当前用户的历史命令条数

[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile //刷新文件,立即生效

退出时命令清除

[root@localhost ~]# vim .bash_logout
[root@localhost ~]# source .bash_logout

开机时命令清除

[root@localhost ~]# vim .bashrc
[root@localhost ~]# source .bashrc
在这里插入图片描述

设置登录超时时间

[root@localhost ~]# vim /etc/profile
[root@localhost ~]# source /etc/profile
在这里插入图片描述

7.使用su命令切换用户

su - 用户名:完整切换,会读取目标用户的配置文件,切换到自己的家目录

su 用户名: 不完整切换,会读取目标用户的配置文件

su:刷新

管理员切换至普通用户不需要密码

普通用户之间相互切换需要密码

普通用户切换管理员需要密码

限制su命令的用户:(因为任何用户都能使用su,会有风险)

将允许使用su命令的用户加入wheel用户中,只有wheel组中的用户可以使用su命令

查看su操作记录

[root@localhost ~]# cat /var/log/secure
eg:有ym和ky27两个用户,要求设置ym可以使用su命令切换用户,ky27用户不允许使用

[root@localhost ~]# vim /etc/pam.d/su //编辑配置文件,将auth required pam_wheel.so use_uid取消注释

gpasswd -a ym wheel
正在将用户“ym”加入到“wheel”组中

8.PAM安全认证

特点:

轻松替换(增删改查)

不用对应用程序进行修改(通过api接口完成,给接口传参数,start,stop等参数)

不用关心如何实现

无法感受对某些应用程序作出改变

使用统一的API接口(统一的指令可以对所有的服务通用)

将服务认证区分开(httpd和ssh不一样,给httpd修改,不会影响ssh)

认证机制
在这里插入图片描述

如果想查看某个程序是否支持PAM认证,可以用ls命令进行查看/etc/pam.d/。

PAM相关文件

包名: pam

模块文件目录:/lib64/security/*.so

特定模块相关的设置文件:/etc/security/

应用程序调用PAM模块的配置文件/etc/pam.d/

主配置文件:/etc/pam.conf,默认不存在,一般不使用主配置

注意:如/etc/pam.d存在,/etc/pam.conf将失效

ls /lib64/sccurity/ 认证模块的位置

/etc/pam.d/* 配置文件位置

[root@localhost pam.d]# cat system-auth
第一列:type类型 第二列:control控制位 第三列:PAM模块

在这里插入图片描述

type类型:

auth 用户身份认证

account 帐户的有效性,与账号管理相关的非认证类的功能,如:用来限制/允许用户对某个服务的访问时间,限制用户的位置(例如:root用户只能从控制台登录)

password 用户修改密码时密码复杂度检查机制等功能

session 用户会话期间的控制,如:最多打开的文件数,最多的进程数等

type 表示因为缺失而不能加载的模块将不记录到系统日志,对于那些不总是安装在系统上的模块有用

control:(控制位)

required:一票否决,一旦失败,继续执行,直到执行完毕后返回信息:失败原因

requisite:一票否决,一旦失败,立即返回

sufficient:一票通过,只要成功立即返回,其他不重要失败了也没有关系

9.实验:shell模块,检查shell的有效性

不允许/bin/csh的用户本地登录

bash.改成csh
在这里插入图片描述

首先查看支持shells的环境

[root@localhost ~]# cd /etc/pam.d/
[root@localhost pam.d]# cat /etc/shells
在这里插入图片描述

[root@localhost pam.d]# vim /etc/pam.d/su

在这里插入图片描述
[root@localhost pam.d]# usermod -s /bin/csh qiao
[root@localhost pam.d]# cat /etc/passwd | grep qiao
在这里插入图片描述
[root@localhost pam.d]# vim /etc/shells
进入shells将csh删除

在这里插入图片描述

此时用户已无法切回root!在这里插入图片描述

10.sudo

格式

用户 主机名=命令程序列表

用户 主机名=(用户)命令程序列表

eg:ym ALL=(root) /sbin/ifconfig

以用户身份,强制执行root命令

例如,普通用户无法执行修改网卡的命令,运用了sudo之后强制执行
在这里插入图片描述

查看当前sudo配置文件,启用sudo操作日志

启用sudo操作日志

需启用Defaults logfile配置

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

操作:在/etc/sudoers末尾添加Defaults logfile=“/var/log/sudo”

查询授权的sudo操作 --包含详细的信息

sudo -l

示例1:配置文件使qiao可以通过sudo命令使用ifconfig

在这里插入图片描述
示例2:设置wheel组进行sudo操作时无需密码验证,并将ky27用户添加到wheel组中测试

更改之前,出现安全提示,输入密码才可以

在这里插入图片描述

[root@localhost ~]# vim /etc/sudoers
在这里插入图片描述

[root@localhost ~]# gpasswd -a ky27 wheel
没有了安全提示了
在这里插入图片描述

示例3:使用关键字来进行设置别名,批量控制用户

要求:控制用户进行sudo操作时无法使用重启(reboot)、关机(poweroff)、

切换init和无法删除

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

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值