当前位置: 首页 > news >正文

sudo usermod -L username和sudo usermod -s /sbin/nologin

sudo usermod -L usernamesudo usermod -s /sbin/nologin 都是修改用户账户的命令,但它们的作用和目的不同。下面是这两个命令的区别:

1. sudo usermod -L username

  • 作用:锁定用户账户,禁止该用户登录系统。

  • 机制

    • usermod -L 命令会将用户账户的登录能力完全禁用。这是通过在 /etc/passwd 文件中为该用户添加 ! 来实现的。
    • 被锁定的用户无法通过任何方式(包括密码和公钥认证)登录到系统。
    • 用户账户仍然存在,但被标记为禁用,因此该用户无法使用任何认证方式登录系统。

使用场景:

  • 用于完全禁用用户账户,不允许该用户登录系统。无论是通过密码认证、公钥认证,还是其他认证方式,都无法登录。

示例:

sudo usermod -L username

/etc/passwd 文件变化:

原始条目(假设用户为 username):

username:x:1001:1001::/home/username:/bin/bash

执行 usermod -L 后,条目变为:

username:x:1001:1001::/home/username:/bin/bash

注意,usermod -L 会使得该用户账户完全禁用,无法再登录。


2. sudo usermod -s /sbin/nologin username

  • 作用:将用户的登录 shell 设置为 /sbin/nologin,禁止该用户进行交互式登录(通过终端或 SSH 等方式)。

  • 机制

    • usermod -s /sbin/nologin 会修改用户的登录 shell(在 /etc/passwd 文件中)为 /sbin/nologin,该 shell 不提供交互式登录功能。
    • 这种方式不会禁用用户的账户,而只是让该用户无法使用终端进行交互式登录
    • 该用户仍然可以通过其他认证方式(例如使用公钥认证)登录系统,只要登录不依赖于交互式 shell。
    • 适用于希望禁用用户的交互式登录,但仍允许用户通过其他方式进行非交互式操作(如通过服务或自动化脚本等)。

使用场景:

  • 用于禁止用户通过 SSH 或终端登录,但仍然允许该用户进行其他操作,如后台服务的运行、进程启动等。

示例:

sudo usermod -s /sbin/nologin username

/etc/passwd 文件变化:

原始条目(假设用户为 username):

username:x:1001:1001::/home/username:/bin/bash

执行 usermod -s /sbin/nologin 后,条目变为:

username:x:1001:1001::/home/username:/sbin/nologin

这表示该用户不能登录系统的 shell,但用户账户仍然存在,且不会影响其他操作。


3. 主要区别

功能 sudo usermod -L username sudo usermod -s /sbin/nologin username
作用 锁定用户账户,禁止用户通过任何方式登录 禁止用户通过交互式 shell 登录,但用户账户仍然存在
修改的配置文件 修改 /etc/passwd 文件,给用户名添加 ! 标记 修改 /etc/passwd 文件,将登录 shell 设置为 /sbin/nologin
是否禁止密码登录 是(禁用密码认证和公钥认证等所有认证方式) 否(只禁用交互式登录,不影响密码或公钥认证的登录)
用户账户是否存在 账户仍然存在,但完全不能登录 账户存在,无法进行交互式登录,但可以通过非交互式方式运行进程
适用场景 完全禁止用户登录,无论通过何种方式 禁止用户交互式登录(如 SSH 登录),但不影响其他服务或进程

4. 解锁或恢复登录

  • 恢复用户的登录 shell(如果通过 usermod -s /sbin/nologin 锁定)

    如果您曾经使用 usermod -s /sbin/nologin username 锁定了用户的登录 shell,可以恢复该用户的登录 shell 为 /bin/bash 或其他有效的 shell,允许其登录。

    sudo usermod -s /bin/bash username
    
  • 解锁用户账户(如果通过 usermod -L 锁定)

    如果您使用 usermod -L username 锁定了用户账户,可以使用 usermod -U username 来解锁账户。

    sudo usermod -U username
    

5. 总结

  • sudo usermod -L username完全禁用用户账户,禁止该用户通过任何方式登录。它会修改 /etc/passwd 文件,标记该用户的账户为禁用状态。
  • sudo usermod -s /sbin/nologin username禁止用户的交互式登录(例如 SSH 登录或终端登录),但该用户的账户仍然存在,并且可以通过其他非交互式方式使用(例如作为服务账户)。

选择哪个命令取决于您的需求:

  • 如果您希望完全禁用用户,使用 usermod -L
  • 如果您只想禁用用户的交互式登录而保留其他使用方式,使用 usermod -s /sbin/nologin
http://www.jsqmd.com/news/89762/

相关文章:

  • Quill图片调整模块:5分钟快速上手终极指南
  • SDUT Java---jdbc
  • openMES开源制造执行系统:从零部署到生产智能化的完整指南
  • 第55天(简单题中等题 数据结构)
  • C#开发者必知的100个黑科技(前50)!从主构造函数到源生成器全面掌握
  • Unity反向遮罩终极指南:打造惊艳UI特效的5个秘诀
  • 飞书文档批量导出工具完整使用指南
  • nchu_两次电路模拟大作业及课堂测验总结
  • 行业聚焦:2025年四通球阀制造厂家权威排名TOP10,市场上四通球阀公司推荐排行优选实力品牌 - 品牌推荐师
  • Source Han Serif TTF:开源中文字体的完美解决方案
  • KeymouseGo深度解析:解放双手的智能自动化实践手册
  • ros2常用命令
  • AMD处理器性能调优进阶实战:深度掌握Ryzen SDT调试工具
  • 固定球阀优质供应商排行,采购必看指南,固定球阀排行双达阀门发展迅速,实力雄厚 - 品牌推荐师
  • qy_蓝桥杯编程系列_编程22 不停的上课
  • GPU显存健康诊断:memtest_vulkan全面评测与实战指南
  • GPU显存健康诊断:memtest_vulkan全面评测与实战指南
  • 如何用OneMore插件实现终极笔记管理:开源免费的效率神器
  • 无锡地铁广告投放费用排行,高口碑供应商盘点,地铁站广告/电梯框架广告/应援广告/社区广告/电梯广告/电梯电子屏广告地铁广告采购有哪些 - 品牌推荐师
  • 题目集4~5以及课堂测验的总结Blog
  • ArkLights明日方舟终极自动化助手:一站式解放双手的完整解决方案
  • 5步掌握Python多尺度地理加权回归实战:从数据准备到结果解读
  • 联想拯救者工具箱:硬件优化与性能控制的终极解决方案
  • OpenWrt路由解锁网易云音乐全攻略:从零部署到高阶配置
  • 2025最新车牌识别/道闸/门禁/通道闸/停车场/人脸门禁公司首选骏通智能——智慧出入管理解决方案优选供应商 - 全局中转站
  • Easy-Scraper:零代码网页数据采集终极解决方案
  • iOS调试兼容性终极解决方案:全版本DeviceSupport文件使用指南
  • PiKVM硬件选型指南:从入门到专业部署的完整方案
  • 从 PRM 到 G-E:推荐重排架构的范式升级与工业实践
  • 终极指南:5步快速搭建纯净Galgame社区TouchGAL