6.28. pam_securetty-将 root 登录限制为特殊设备

pam_securetty.so [调试]

6.28.1. DESCRIPTION

pam_securetty 是一个 PAM 模块,仅当用户使用securetty文件中的清单所定义的“安全” tty 登录时,才允许 root 登录。 pam_securetty 首先检查/etc/securetty是否存在。如果不是,并且它是使用 vendordir 支持构建的,它将使用%vendordir%/securetty。 pam_securetty 还检查securetty文件是否为纯文件并且不可全局写入。它还将允许在内核命令行上使用console=开关指定的 tty 和来自/sys/class/tty/console/active的 ttys 上的 root 登录。

该模块对非 root 用户无效,并且要求应用程序正确填写* PAM_TTY *项目。

对于规范用法,应在所有足够身份验证方法之前列为必需身份验证方法。

6.28.2. OPTIONS

  • debug

    • 打印调试信息。
  • noconsole

    • 如果未在securetty文件中也指定,则不要按照内核命令行或 sys 文件的指定自动允许在内核控制台设备上进行 root 登录。

6.28.3. 提供的模块类型

仅提供auth模块类型。

6.28.4. 返回值

  • PAM_SUCCESS

    • 允许用户 continue 验证。用户不是 root 用户,或者 root 用户正在尝试在可接受的设备上登录。
  • PAM_AUTH_ERR

    • 身份验证被拒绝。 root 试图通过不可接受的设备登录,或者securetty文件是可全局写入的文件或不是正常文件。
  • PAM_BUF_ERR

    • 内存缓冲区错误。
  • PAM_CONV_ERR

    • 应用程序提供的对话方法无法获取用户名。
  • PAM_INCOMPLETE

    • 应用程序提供的对话方法返回了 PAM_CONV_AGAIN。
  • PAM_SERVICE_ERR

    • 模块确定用户名或 tty 时发生错误,或者模块无法打开securetty文件。
  • PAM_USER_UNKNOWN

    • 该模块在/etc/passwd文件中找不到用户名以验证用户的 UID 是否为 0.因此,运行该模块的结果将被忽略。

6.28.5. EXAMPLES

auth  required  pam_securetty.so
auth  required  pam_unix.so

6.28.6. AUTHOR

pam_securetty 由 Elliot Lee<[email protected]>编写。