AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • 主页
  • 系统&网络
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • 主页
  • 系统&网络
    • 最新
    • 热门
    • 标签
  • Ubuntu
    • 最新
    • 热门
    • 标签
  • Unix
    • 最新
    • 标签
  • DBA
    • 最新
    • 标签
  • Computer
    • 最新
    • 标签
  • Coding
    • 最新
    • 标签
主页 / unix / 问题 / 748039
Accepted
Lyubomir
Lyubomir
Asked: 2023-06-06 04:44:49 +0800 CST2023-06-06 04:44:49 +0800 CST 2023-06-06 04:44:49 +0800 CST

/etc/shadow 中的*LK* 与/etc/passwd 中的/usr/sbin/nologon 的区别

  • 772

*LK*set in/etc/shadow和 setting /usr/sbin/nologonin之间的实际区别是什么/etc/passwd?

我们什么时候会选择一个而不是另一个?我们什么时候将它们结合起来?

pam
  • 2 2 个回答
  • 21 Views

2 个回答

  • Voted
  1. Best Answer
    telcoM
    2023-06-06T06:57:28+08:002023-06-06T06:57:28+08:00

    设置一个不是有效密码散列的值,例如*LK*密码散列字段/etc/shadow将阻止所有形式的密码验证,但如果用户配置了其他验证机制(如指纹或 SSH 密钥),它们仍然有效。

    作为这种情况的特例,passwd -l <username>将在现有散列前加上一个感叹号,因此很容易撤消passwd -u <username>。其他无效值,例如*LK*可用于指示用户帐户永远不会用于身份验证,例如,因为该帐户用于在没有特殊权限或与任何特定人员相关联的上下文中运行某些系统服务用户。

    参考man 5 shadow:

    如果密码字段包含一些不是 crypt(3) 有效结果的字符串,例如 ! 或*,用户将无法使用unix密码登录(但用户可以通过其他方式登录系统)。

    同样,在现代发行版中包括关于选项(锁定密码)的man passwd注释:-l

    请注意,这不会禁用该帐户。用户可能仍然能够使用另一个身份验证令牌(例如 SSH 密钥)登录。要禁用该帐户,管理员应使用 usermod --expiredate 1(这会将帐户的到期日期设置为 1970 年 1 月 2 日)。

    (Aaron D. Marasco 的建议,它不允许登录和所有形式的身份验证曾经是正确的,但语义在过去 10 年左右发生了变化,以便有一个统一的方法来禁用密码身份验证,但仍然允许帐户用于其他形式的身份验证。这在过去使很多人感到困惑:有很多书籍和其他文档都包含关于此的过时信息。)

    将用户的 shell 设置为非交互式 shell,例如/bin/false或/usr/sbin/nologin将禁用shell 访问,但如果用户帐户可用于其他使用密码身份验证的方式(例如用于 IMAP 电子邮件访问或 FTP 文件传输),这些仍然可以工作。

    所以简而言之:

    • 要阻止所有形式的身份验证以登录或以其他方式在旧系统和新系统上使用用户帐户,请使用usermod -e 1 <username>
    • 要禁用 shell 访问但允许其他服务,请将用户的 shell 设置为/usr/sbin/nologin,/bin/false或类似的非交互式。
    • 要禁用密码身份验证但允许其他身份验证方法起作用,请使用passwd -l <username>或其他方法将密码哈希设置为无效值。
    • 要向其他系统管理员表明该用户帐户已被故意禁用并带有极端偏见,请应用以上所有内容:-)
    • 1
  2. Aaron D. Marasco
    2023-06-06T06:10:44+08:002023-06-06T06:10:44+08:00

    第一个永远不会允许该用户登录,也不会进行身份验证(这*LK*不是特殊的 AFAIK,它只是一个无效的密码哈希)。这意味着如果您想让系统为受保护的网页等其他内容设置有效密码.htaccess,那是行不通的。

    第二个允许有效的用户和密码组合,但不允许登录。这将允许 SFTP 之类的东西上传个人网页等。

    • 0

相关问题

  • /etc/pam.d/system-auth 中的这条规则有什么作用?

  • PAM:身份验证失败,密码有效

  • 了解 PAM 和 PAM 感知守护程序之间的通信

  • LDAP 和 PAM 用于 GUI 登录但不适用于 SSH

  • PAM Ke​​rberos 和 RStudio

Sidebar

Stats

  • 问题 205573
  • 回答 270741
  • 最佳答案 135370
  • 用户 68524
  • 热门
  • 回答
  • Marko Smith

    模块 i915 可能缺少固件 /lib/firmware/i915/*

    • 3 个回答
  • Marko Smith

    无法获取 jessie backports 存储库

    • 4 个回答
  • Marko Smith

    如何将 GPG 私钥和公钥导出到文件

    • 4 个回答
  • Marko Smith

    我们如何运行存储在变量中的命令?

    • 5 个回答
  • Marko Smith

    如何配置 systemd-resolved 和 systemd-networkd 以使用本地 DNS 服务器来解析本地域和远程 DNS 服务器来解析远程域?

    • 3 个回答
  • Marko Smith

    dist-upgrade 后 Kali Linux 中的 apt-get update 错误 [重复]

    • 2 个回答
  • Marko Smith

    如何从 systemctl 服务日志中查看最新的 x 行

    • 5 个回答
  • Marko Smith

    Nano - 跳转到文件末尾

    • 8 个回答
  • Marko Smith

    grub 错误:你需要先加载内核

    • 4 个回答
  • Marko Smith

    如何下载软件包而不是使用 apt-get 命令安装它?

    • 7 个回答
  • Martin Hope
    user12345 无法获取 jessie backports 存储库 2019-03-27 04:39:28 +0800 CST
  • Martin Hope
    Carl 为什么大多数 systemd 示例都包含 WantedBy=multi-user.target? 2019-03-15 11:49:25 +0800 CST
  • Martin Hope
    rocky 如何将 GPG 私钥和公钥导出到文件 2018-11-16 05:36:15 +0800 CST
  • Martin Hope
    Evan Carroll systemctl 状态显示:“状态:降级” 2018-06-03 18:48:17 +0800 CST
  • Martin Hope
    Tim 我们如何运行存储在变量中的命令? 2018-05-21 04:46:29 +0800 CST
  • Martin Hope
    Ankur S 为什么 /dev/null 是一个文件?为什么它的功能不作为一个简单的程序来实现? 2018-04-17 07:28:04 +0800 CST
  • Martin Hope
    user3191334 如何从 systemctl 服务日志中查看最新的 x 行 2018-02-07 00:14:16 +0800 CST
  • Martin Hope
    Marko Pacak Nano - 跳转到文件末尾 2018-02-01 01:53:03 +0800 CST
  • Martin Hope
    Kidburla 为什么真假这么大? 2018-01-26 12:14:47 +0800 CST
  • Martin Hope
    Christos Baziotis 在一个巨大的(70GB)、一行、文本文件中替换字符串 2017-12-30 06:58:33 +0800 CST

热门标签

linux bash debian shell-script text-processing ubuntu centos shell awk ssh

Explore

  • 主页
  • 问题
    • 最新
    • 热门
  • 标签
  • 帮助

Footer

AskOverflow.Dev

关于我们

  • 关于我们
  • 联系我们

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve