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
文件是可全局写入的文件或不是正常文件。
- 身份验证被拒绝。 root 试图通过不可接受的设备登录,或者
-
PAM_BUF_ERR
- 内存缓冲区错误。
-
PAM_CONV_ERR
- 应用程序提供的对话方法无法获取用户名。
-
PAM_INCOMPLETE
- 应用程序提供的对话方法返回了 PAM_CONV_AGAIN。
-
PAM_SERVICE_ERR
- 模块确定用户名或 tty 时发生错误,或者模块无法打开
securetty
文件。
- 模块确定用户名或 tty 时发生错误,或者模块无法打开
-
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]>编写。