Linux系统用户安全(如何给其他用户授权)及引导登录的控制

这篇具有很好参考价值的文章主要介绍了Linux系统用户安全(如何给其他用户授权)及引导登录的控制。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

账号安全控制的基本措施

如何对系统账号进行清理

系统账号的清理

  • 将非登录用户的shell设为/sbin/nologin

usermod -s /sbin/nologin 用户名(设置为不可登录)

  • 锁定长期不适用的账号
    • usermod -L 用户名
    • passwd -l 用户名
    • passwd -S 用户名
  • 删除无用账号
    userdel [-r] 用户名(-r选项删除用户家目录)
  • 锁定账号文件passwd(用户配置文件)、shadow(用户密码文件)
    • chattr +i /etc/passwd /etc/shadow【即锁定用户账户信息/用户密码信息,无法增删改查用户信息】
    • chattr -i /etc/passwd /etc/shadow【即解锁用户配置文件】
    • lsattr /etc/passwd /etc/shadow【查看锁定文件并查看状态;用于查看文件是否被锁定】
  • PS:chattr可用于锁定大部分的文件
    Linux系统用户安全(如何给其他用户授权)及引导登录的控制

密码的安全控制

设置密码有效期(chage命令)

  1. chage -M [用户名]

Linux系统用户安全(如何给其他用户授权)及引导登录的控制

  1. chage -d 0 [用户名]

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

我们仍使用zhangsan用户做例子:

Linux系统用户安全(如何给其他用户授权)及引导登录的控制

完成后在图形界面登录zhangsan用户
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
chage -d命令后面跟的数字为0属于特殊含义,代表强制用户下次登陆时修改密码;如果为普通数字该命令含义为该用户最后一次修改密码的时间,该命令后面也可以跟具体时间如“2008-8-8”代表最后一次修改密码的时间为1970-1-1到2008-8-8期间的总天数

命令历史限制

如何查看命令条目

history命令
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
ctrl+R组合键
该组合键可以搜索之前操作命令的关键词
Linux系统用户安全(如何给其他用户授权)及引导登录的控制

如何减少记录的命令条数?

修改环境变量配置文件

我们首先要知道历史命令的配置文件在 /etc/profile中,我们可以修改这个环境变量配置文件限制命令显示的条目数
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制

history -c 命令

该命令只用于临时清空所有命令记录,重启后之前操作仍然可见
Linux系统用户安全(如何给其他用户授权)及引导登录的控制

登陆时自动清空命令历史

编辑~/.bash_profile文件

该文件编辑效果为当前用户开机后首次登陆系统时会执行一次编辑的命令
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制

切换用户和对用户进行授权

su命令

su命令的用途:Substitute User,切换用户

格式:su - [目标用户名].

如果su直接后面跟切换的用户名,会在之前用户所在的目录直接进行切换,如果是su - [目标用户名],切换用户后,目标用户将在自己的家目录下:

Linux系统用户安全(如何给其他用户授权)及引导登录的控制

Linux中的PAM安全认证

PAM(Pluggable Authentication Modules)是一种插入式认证模块,是一种高效而且灵活便利的用户级别的认证方式,也是当前Linux服务器普遍使用的认证方式。使用PAM认证模块可以加强su命令的使用控制,只允许个别用户使用su命令进行切换。

PAM认证的构成
查看某个程序是否支持PAM认证,我们可以使用ls命令查看

举例:比如我们想查看su命令是否支持PAM认证模块,我们可以查看PAM的配置文件进行过滤:
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制

  • 如上图所示,每一行都是一个独立的认证过程

  • 每一行可以区分为三个字段

    • 认证类型
      Linux系统用户安全(如何给其他用户授权)及引导登录的控制
    • 控制类型

Linux系统用户安全(如何给其他用户授权)及引导登录的控制

使用sudu机制给其他用户进行提权

sudo令的用途以及方法

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

格式:sudo [命令]

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
从上图可以看到,在我们没有授予普通用户相关权限时,我们普通用户无法拥有root超级管理员的权限去进行一些操作,所以我们要给普通用户提权才能进行操作

如何配置sudo授权

sudo的授权有2种方式(两种操作方式均能进入用户权限的配置文件,且都需要在root超级管理员用户下进行操作)

  • visudo
  • vi /etc/sudoers(此文件默认权限为440,保存时需要使用wq!强制保存)

Linux系统用户安全(如何给其他用户授权)及引导登录的控制

启用sudo的操作日志

  1. visudo或者vi /etc/sudoers
  2. 在配置文件中写入Defaults logfile =“/var/log/sudo”(代表将sudo的操作日志存入该路径的文件中)

Linux系统用户安全(如何给其他用户授权)及引导登录的控制

开关机的安全控制

调整BIOS引导设置

  • 第一引导设备设为当前系统所在硬盘
  • 禁止从其他设备(光盘、U盘、网络)引导系统
  • 将安全级别设为setup,并设置管理员密码

GRUB限制

使用grub2-mkpasswd-pbkdf2生成密钥

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
从上方两张图片我们可以看到在我们开启系统时可以在引导菜单中按“e”进行我们相关启动项的更改。如果修改不当,容易导致我们的系统无法启动。所以在工作环境中,我们要避免所有人都可以进行这方面内容的修改,进行加密来限制其他用户。

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
修改/etc/grub.d/00_header文件,添加密码记录

接下来我们需要修改我们的默认参数文件(vim /etc/grub.d/00_header):

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
生成新的grub.cfg配置文件

我们设置完默认参数文件后,要重新生成一个新的grub.cfg配置文件,来使之前的配置生效,文件位置:/boot/grub2

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制

终端登录安全控制

限制root只在安全终端登录

安全终端配置:/etc/securetty

我们直接编辑终端配置文件:

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
我们将tty1,tty2,tty3全部禁用(即禁止root用户从tty1,tty2,tty3的终端进行登录),使用"#"在字符前进行注释,之后我们使用ctrl+alt+F1-F5的组合键进行终端的切换,查看是否可以进行切换:

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制
禁止普通用户进行登录

命令:touch /etc/nologin

我们使用该命令后,使用普通用户进行登录:

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
如果我们需要取消普通用户登录限制:

命令:rm -rf /etc/nologin 即将限制登录文件删除:

Linux系统用户安全(如何给其他用户授权)及引导登录的控制
Linux系统用户安全(如何给其他用户授权)及引导登录的控制文章来源地址https://www.toymoban.com/news/detail-498922.html

到了这里,关于Linux系统用户安全(如何给其他用户授权)及引导登录的控制的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Linux login命令教程:如何终端登录系统、管理用户会话(附实例详解和注意事项)

    login 命令用于登录到系统。它要求用户输入用户名和密码,然后验证这些凭据并启动一个新的会话。通常, login 命令用于文本终端登录,但也可以在图形界面中使用。 login 命令在所有主要的 Linux 发行版中都可用,包括 Debian、Ubuntu、CentOS、Fedora 等。如果遇到不适用的情况,

    2024年03月21日
    浏览(58)
  • PHP中如何实现安全的用户认证与授权?

    在Web开发中,用户认证与授权是两个至关重要的环节。认证是指验证用户身份的过程,确保只有合法的用户才能访问系统资源;而授权则是确定已认证用户具有哪些操作权限的过程。在PHP中,实现安全的用户认证与授权需要考虑多个方面,包括用户密码的存储、登录验证的机

    2024年04月29日
    浏览(35)
  • Oracle数据库中,授权某用户可以查询其他用户的表

    在Oracle数据库中,授权一个用户可以查看其他所有用户的表,需要执行以下步骤: 使用数据库管理员账号连接到Oracle数据库。 通过 GRANT 命令给用户授予必要的权限。例如,如果要授权用户 user1 可以查看所有其他用户的表,可以执行以下命令: 这条命令将授予 user1  SELECT

    2024年02月08日
    浏览(67)
  • ssh命令用于远程登录到其他计算机,实现安全的远程管理_linux ssh远程登录命令

    文章标题 简介 一,参数列表 二,使用介绍 1. 连接远程服务器 2. 使用SSH密钥登录 2.1 生成密钥对 2.2 将公钥复制到远程服务器 3. 端口转发 3.1 本地端口转发 3.2 远程端口转发 4. X11转发 5. 文件传输与远程命令执行 5.1 文件传输 5.1.1 从本地向远程传输文件 5.1.2 从远程服务器下载

    2024年04月11日
    浏览(45)
  • Linux系统添加用户并授权管理员(sudo)权限

    一方面是为了安全权限考虑、也是防止误操作。另一方面也是为了保证用户平时处于普通权限下。 1、添加用户 使用useradd命令添加用户 useradd -m kingbase 2、修改密码 给新添加的用户“kingbase”设置一个密码( 注:设置密码的时候linux系统默认会有密码复杂度规则 ) passwd king

    2024年02月16日
    浏览(47)
  • 【Linux命令详解 | ssh命令】 ssh命令用于远程登录到其他计算机,实现安全的远程管理

    在编程和系统管理领域,远程管理是一项至关重要的任务。SSH(Secure Shell)命令是一种加密的网络协议,它提供了一种安全的方式,使您能够在不同的计算机之间进行远程连接和管理。通过使用SSH命令,您可以在远程计算机上执行命令、传输文件以及进行安全的远程登录。

    2024年02月12日
    浏览(44)
  • 某电子文档安全管理系统存在任意用户登录漏洞

    漏洞简介 某电子文档安全管理系统存在任意用户登录漏洞,攻击者可以通过用户名获取对应的cookie,登录后台。 资产测绘 Hunter语法:web.icon==“9fd216c3e694850445607451fe3b3568” 漏洞复现 获取Cookie 带上Cookie访问URL + /CDGServer3/frame.jsp,即可登录后台 修复建议 对相关接口进行限制访

    2024年02月03日
    浏览(46)
  • Linux下如何开启允许root用户远程登录

    在很多时候,远程登录使用的是用户身份登录,在系统路径下的文件无法通过用户角色直接下载。下载的话,需要将文件移动到当前用户有权限的路径下才能下载,比较麻烦。而另一种下载方法是以root用户的身份登录系统进行原路径下载,但多数SSH为了提高系统安全性, 默

    2024年02月13日
    浏览(48)
  • 如何安全的修改win11用户名(微软账号登录,用户名会变成纯数字,好丑)

    过河拆桥法 , (下面有图示) 1 设置win11使用本地账户, 2 新建另一个管理员账户GGG, 3 登录GGG, 4 删除目标用户名AAA, 5 重新新建AAA,并设置为管理员, 6 登录AAA, 7 删除GGG, 8 ok                        ok   1、按 Win 键,或点击任务栏上的开始图标,然后在已固定的应

    2024年02月11日
    浏览(131)
  • Blazor WebAssembly 自定义用户登录进行授权

    主要是前面四步,第五步是需要授权验证画面的书写参数。 1. 引用 Microsoft.AspNetCore.Components.Authorization 2. Program.cs 加入:             var builder = WebAssemblyHostBuilder.CreateDefault(args);             builder.Services.AddAuthorizationCore();//There is no registered service of type \\\'Microsoft.AspNetCore.Aut

    2024年04月28日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包