你怎么知道Linux上的用户是否“被允许登录”?

前端之家收集整理的这篇文章主要介绍了你怎么知道Linux上的用户是否“被允许登录”?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
问题很简单,我想列出所有可以登录我系统的用户帐户,但我不确定/ etc / passwd中的所有用户是否都“可以登录用户

细节:

我可以在/ etc / passwd中看到shell设置为/usr/sbin / nologin和/ bin / false的用户,这是否意味着他们无法登录

我也知道我可以将用户的加密密码设置为*或!在/ etc / shadow中禁用一个帐户,所以“禁用用户”也应该被视为“无法登录”的用户,对吧?

解决方法

这很大程度上取决于您对“登录”的定义 – 从技术上讲,任何用户都存在于/ etc / passwd& / etc / shadow是一个“有效用户”,理论上可以在正确的环境下登录.

您正在谈论的方法分为以下几大类:

>拥有“锁定”帐户的用户
密码设置为*,!或其他一些永远不会匹配的哈希的用户被“锁定”(在日常工作中,约定通常是* LK *,用于“已锁定”).
这些用户无法通过键入密码登录,但他们仍然可以使用其他身份验证机制(例如,SSH密钥)进行登录.
>具有“非交互式”shell的用户
其帐户具有“非交互式shell”(/ bin / false,/ sbin / nologin)的用户无法以交互方式登录 – 即他们无法获得shell提示符来运行命令(这也会阻止SSH命令)如果用户在系统上有SSH密钥,则执行.
这些用户仍然可以登录以执行诸如读取/发送电子邮件之类的操作(通过POP / IMAP和SMTP AUTH).为永远不需要使用shell(以及大多数“服务帐户”)的用户设置非交互式shell通常被认为是一种良好的做法.

因此,根据您“能够登录”的标准,您可能需要检查其中一个或两个.

猜你在找的Linux相关文章