系统安全及应用(su、sudo、PAM)

本文围绕Linux系统安全展开,介绍了系统安全基本措施,如账号清理、用户锁定、配置文件锁定、密码安全控制和命令历史限制等。还阐述了切换用户的su命令及PAM安全认证,以及sudo的特性、配置文件编辑和规则,包括语法和别名。

1.系统安全基本措施

系统账号的清理

将非登录的用户的shell设为/sbin/nologin(非登录的用户账号)

查看登录用户,过滤出非登录的用户账号

cat /etc/passwd |grep”/sbin/nologin”

将账号设置为非登录用户:usermod -s /sbin/nologin 用户名

锁定用户:

passwd: passwd -l锁定 passwd -u解锁

usermod: usermod -l锁定 usermod -u解锁

/etc/shadow中密码第一位为!,表示密码锁定

锁定配置文件:

chattr [选项] 文件或目录

选项:

  • chattr +i /etc/passwd /etc/shadow 锁定文件,包括root也无法修改

  • chattr -i /etc/passwd /etc/shadow解锁文件

锁定后查看文件状态属性就会显示没有了

查看文件状态属性:lsattr /etc/passwd /etc/shadow

密码安全控制:

  • 设置密码有效期

  • 要求用户下次登录时更改密码

vi /etc/login.defs ,进入这个文件修改

适用于新建用户,99999意味着无期限,更改此选项代表着往后再新建用户,密码有效期的时间将会更改。

查看用户密码还剩多少天:cat /etc/shadow |grep “用户名”

chage -M 30 用户名

适用于已有用户 ,设置密码有效期30天

chage -d 0 用户名

强制下次登陆时改密码

命令历史:

命令历史的限制(分两种,一种是新登录的用户,第二种是修改当前用户):

1.适用于新登录的用户:

    vim /etc/profile  进入配置文件修改限制命令条数。适合新用户
   HISTSIZE=1000     系统默认是1000条profile, 修改限制命令
   source /etc/ 刷新配置文件,使文件立即生效

2.修改当前用户的命令历史限制

export HISTSIZE=200 限制命令历史为200条

source /etc/profile        让配置文件刷新,使文件立即生效

3. 注销时自动清空命令:

 [root@localhost ~]# vim ~/.bashrc


         echo " " > ~/.bash_history     进入在末尾加上

闲置60秒后自动注销:

[root@localhost ~]#vim .bash_profile              进入配置文件

export TMOUT=60                                          全局声明超过60秒闲置后自动注销终端

[root@localhost ~]# source .bash_profile       刷新文件

[root@localhost ~]# echo $TMOUT                查看自动注销时间

如果不在配置文件输入这条命令,那么是对当前用户生效

[root@localhost ~]# export TMOUT=600           对当前用户生效

[root@localhost ~]#vim .bash_profile

                # export TMOUT=600          注释掉这条命令(去掉#)就不会生效了

切换用户:su

任何一个用户,登录都需要加载bash这个程序

su 命令:可以切换用户身份。

切换用户方式:

su 用户名:实际并没有切换到新的用户,无法实现后期操作

su -用户名:正确的格式切换用户

su:相当于su -root

超级用户(root)切换到普通用户不需要密码

查看su操作记录

安全日志文件:/var/log/secure

确定当前用户是谁

woami,w,who

限制使用su命令的用户

1.添加wheel组

系统会自己创建一个wheel组,如果没有groupadd创建一个几个

grep wheel /etc/group

2.将用户添加到wheel用户组

usermod -G wheel test1

3.修改插拔认证模块(PAM)

   vim /etc/pam.d/su

4.这样就进不去test1了

查看su的PAM配置文件

vim /etc/pam.d/su

限制su命令作用
auth sufficient pam_ rootok.so超级管理员是否需要输入密码
auth required pam_ wheel.so use_ _uid属于whell组,可以切换(属于文件的第六行)

注意:

  • 以上两行是默认状态(即开启第一行,注释第二行),这种状态下是允许所有用户间使用su命令进行切换的。

  • 两行都注释也是允许所有用户都能使用su命令,但root'下使用su切换到其他普通用户需要输入密码;如果第一行不注释,则root使用su切换普通用户就不需要输入密码(pam rootok. so模块的主要作用是使uid为0的用户,即root用户能够直接通过认证而不用输入密码

  • 如果开启第二行,表示只有root用户和wheel组内的用户才可以使用su命令

  • 如果注释第一行,开启第二行,表示只有whee1组内的用户才能使用su命令,root用户也被禁用su命令。

PAM:安全认证

当前linux普遍的认证方式

PAM模块:插件式的模块

常见的功能:

1.验证 用户名 密码功能

2.开发出一款软件如果要用到用户名和密码的功能时,就会调用pam架构中的密码模块,不需要二次开发

PAM认证原理

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

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

例如:ls /etc/pam.d | grep su 查看su是否支持PAM模块认证

专用配置文件/etc/pam.d/格式

type:功能

control:判断成功失败

module-path:指明本模块对应的程序文件的路径名

arguments:传递该模块的参数

认证模块类型(module-type)

auth:对用户身份进行识别,如提示输入密码,判断是否为root。

acconut:对账号各项属性进行检查,如是否允许登录系统,帐号是否已经过期,是否达到最大用户数等。

password:使用用户信息来更新数据,如修改用户密码

session:用户会话期间的控制,如登录连接信息,用户数据的打开和关闭,挂载文件系统

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

control(控制位)

作用是验证是否成功

required:一票否决(失败了也会往下走)

requisite:一票否决(失败了退出,成功继续)

sufficient:一票通过(成功了退出,失败了会继续往下走)

sudo

sudo特性:

  • sudo 能够授权指定用户在指定主机上运行某些命令。 如果未授权用户尝试使用 sudo,会提示联系管理员。

  • sudo 可以提供日志,记录每个用户使用sudo操作,以便于日后审计。

  • sudo 为系统管理员提供配置文件,允许系统管理员集中地管理用户的使用权限和使用的主机。

  • sudo 默认存活期为5分钟。

编辑sudo配置文件的方式:改配置文件前先备份

1.sudoedit /etc/sudoers

2.vim /etc/sudoers

3.visudo

visudo -c:该命令具有语法检查功能,输入配置完后可以用这个命令检查

配置文件规则有两类:语法和别名

sudo语法

user                   which_hosts=  (runas) command

允许哪个用户    在哪台主机上    执行某一条命令

user:运行命令者的身份

host:哪台主机,可以指定某个ip地址表示

(runas):以哪个用户的身份

command:运行哪些命令

免密运行命令:nopasswd:命令

别名(定义)

别名格式:必须大写字母,数字可以使用但是不能放在开头

sudo别名有四种类型:

  • Host_Alias 定义主机别名
  • User_Alias 用户别名,别名成员可以是用户,用户组(前面要加%号)
  • Runas_Alias 用来定义runas别名,这个别名指定的是“目的用户”,即sudo 允许切换至的用户
  • Command_Alias 定义命令别名
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值