Linux系统安全及应用

目录

一、账号安全基本措施

1、系统账号清理

1.1   将用户设置为无法登录

1.2、锁定用户

1.3、删除用户       

1.4、锁定配置文件    

2、密码安全控制

2.1 设置密码规则

 ​编辑

3、 命令历史

4、用户切换

二、 sudo

1、sudo特性:

2、sudo设置

 三、grub加密

        1、设置GRUB 2加密


一、账号安全基本措施

1、系统账号清理

1.1        将用户设置为无法登录

shell——/sbin/nologin却比较特殊,所谓“无法登陆”指的仅是这个用户无法使用bash或其他shell来登陆系统而已,并不是说这个账号就无法使用系统资源。

使用的命令:chsh   修改用户的shell属性

 

 1.2、锁定用户

        passwd        -l         用户名        锁定用户

        passwd        -u         用户名        解锁用户

1.3、删除用户       

        userdel        -r        用户名                # 删除用户,加 -r 可以连同用户在/home目录下的家目录一同删除

 

 1.4、锁定配置文件    

chattr

-a 让文件或目录仅供附加用途。只能追加

-i 不得任意更动文件或目录。

举例:chattr +i  /etc/passwd  /etc/shadow         #将passwd文件和shadow文件加上 i 属性

2、密码安全控制

2.1        设置密码规则

        可以修改 /etc/login.defs 文件里的内容来设置密码规则

vim    /etc/login.defs 

 

还可以使用chage命令对已经创建过的用户修改规则

chage

chage [选项] 用户名
-m:密码可更改的最小天数。为零时代表任何时候都可以更改密码。
-M:密码保持有效的最大天数。
-w:用户密码到期前,提前收到警告信息的天数。
-E:帐号到期的日期。过了这天,此帐号将不可用。
-d:上一次更改的日期。
-i:停滞时期。如果一个密码已过期这些天,那么此帐号将不可用。
-l:例出当前的设置。由非特权用户来确定他们的密码或帐号何时过期。

示例:

chage -d  0 zhangsan                #强制张三下一次登录一定修改密码

查看所有用户的信息

3、 命令历史

Shell 环境的命令历史机制为用户提供了极大的便利,但另一方面也给用户带来了潜在 的风险。只要获得用户的命令历史文件,该用户的命令操作过程将会一览无余,如果曾经在 命令行输入明文的密码,则无意之中服务器的安全壁垒又多了一个缺口。 Bash 终端环境中,历史命令的记录条数由变量 HISTSIZE 控制,默认为 1000 条。通 过修改/etc/profile 文件中的 HISTSIZE 变量值,可以影响系统中的所有用户。例如,可以设 置最多只记录 200 条历史命令。


history -c        #可以使用以下命令临时清除历史命令

[root@localhost ~]#vim .bash_logout
#退出后清除
# ~/.bash_logout
echo " " >~/.bash_history

4、用户切换

使用su命令实现用户切换

格式:su  用户名   或者    su  -  用户名

二、 sudo

1、sudo特性:

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

  • sudo提供了丰富的日志,详细地记录了每个用户干了什么。它能够将日志传到中心主机或者日志服务器

  • sudo使用时间戳文件来执行类似的“检票”系统。当用户调用sudo并且输入它的密码时,用户获得了一张存活期为5分钟的票

  • sudo的配置文件是sudoers文件,它允许系统管理员集中的管理用户的使用权限和使用的主机。它所存放的位置默认是在/etc/sudoers,属性必须为0440

2、sudo设置

sudo设置的配置文件打开方式有两种:

1)vim   /etc/sudoers                # 使用vim编辑器打开,修改内容后,不能自我检查

 2)visudo                # 修改后,可以自我检查,有错误会指出哪一行有错误

#用户    登入主机    =    (代表用户)     命令
#user      host       =    (runas)       command
root     ALL=(root)                   A

user: 运行命令者的身份
host: 通过哪些主机 多个 192.168.91.100 - 110  localhost
(runas):以哪个用户的身份
command: 运行哪些命令

示例:

让用户lisi可以使用挂载命令

 三、grub加密

/etc/grub.d目录

定义每个菜单项的所有脚本都存放在/etc/grub.d目录中,这些脚本的名称必须有两位的数字前缀,其目的是构建GRUB 2菜单时定义脚本的执行顺序以及相应菜单项的顺序,比如00_header文件首先被读取。

文件描述
00_header设置grub默认参数
10_linux系统中存在多个linux版本
20_ppc_terminfo设置tty控制台
30_os_prober设置其他分区中的系统(硬盘中有多个操作系统时设置)
40_custom和41_custom

用户自定义的配置

1、设置GRUB 2加密

由于GRUB 2负责引导linux系统,其作为系统中的第一道屏障的安全性非常重要,对GRUB 2进行加密可以实现安全性。

在默认情况下,GRUB 2对所有可以在物理上进入控制台的人都是可访问的。任何人都可以选择并编辑任意菜单项,并且可以直接访问GRUB命令行。要启用认真支持,必须将环境变量超级用户设置为一组用户名(可以使用空格、逗号、分号作为分隔符)这样就只允许超级用户使用GRUB命令行、编辑菜单项以及执行任意菜单项。

GRUB 2密码支持以下两种格式

  • 明文密码:密码数据没有经过加密,安全性差

  • PBKDF2加密密码:密码经过PBKDF2哈希算法进行加密,在文件中存储的是加密后的密码数据,安全性较高。

    1、    #grub2-mkpasswd-pbkdf2      #根据提示设置GRUB菜单的密码 

2、        然后在/etc/grub.d/00_header文件中添加超级用户和PBKDF2加密口令

3、         # vim /etc/grub.d/00_header       

4、      最后使用grub2-mkconfig命令生成grubv

 5、重启

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值