徐州h5建站模板,字节跳动公司简介,宝塔 安装wordpress,白酒营销网站讲《Linux下禁止root远程登录访问》故事的时候#xff0c;说好会另开一篇讲讲pam_listfile。我们先看看pam_listfile的man文档怎么介绍的。
下面这些就好比人物的简介#xff0c;甚是恼人#xff1b;让人看得不明就里#xff0c;反正“他大舅他二舅都是他舅”。可以直接跳…讲《Linux下禁止root远程登录访问》故事的时候说好会另开一篇讲讲pam_listfile。我们先看看pam_listfile的man文档怎么介绍的。
下面这些就好比人物的简介甚是恼人让人看得不明就里反正“他大舅他二舅都是他舅”。可以直接跳到下面的示例环节看如何使用的直接参考就行了。
名称
pam_listfile - 基于任意文件允许或拒绝服务
概要 pam_listfile.so item[tty|user|rhost|ruser|group|shell] sense[allow|deny] file/path/filename onerr[succeed|fail] [apply[user|group]] [quiet] 描述
pam_listfile 是一个 PAM可插拔认证模块模块它提供了一种基于任意文件来允许或拒绝服务的方法。
该模块会根据指定的类型获取项目
user指定用户名对应 PAM_USERtty指定请求所经过的终端名称对应 PAM_TTYrhost指定发起请求的远程主机名称如果有对应 PAM_RHOSTruser指定发起请求的远程用户名如果可用对应 PAM_RUSERgroup指定用户所属的组shell指定用户的登录 shell。
然后在 filefilename 中查找该项目。filename 文件中每行列出一个项目。如果找到了该项目则根据 sense 参数决定操作
如果 senseallow则返回 PAM_SUCCESS使授权请求成功如果 sensedeny则返回 PAM_AUTH_ERR使授权请求失败。
如果遇到错误例如文件不存在或参数构造不良则根据 onerr 参数决定处理方式
如果 onerrsucceed则返回 PAM_SUCCESS如果 onerrfail则返回 PAM_AUTH_ERR 或 PAM_SERVICE_ERR视情况而定。
额外的参数 apply 可以用来限制上述规则的应用范围仅对特定用户 (applyusername) 或特定组 (applygroupname) 生效。此限制仅在使用 tty、rhost 和 shell 项目时有意义。
除了最后一个参数外所有参数都应该是明确指定的不要依赖任何默认行为。
此模块不会授予任何凭据。
选项 item[tty|user|rhost|ruser|group|shell] 要在文件中列出并检查的项目。 sense[allow|deny] 如果在文件中找到项目时应采取的操作如果未找到项目则执行相反的操作。 file/path/filename 包含每个项目一行的文件。文件需要是普通文件并且不能是世界可写的。 onerr[succeed|fail] 如果发生异常情况如无法打开文件时应采取的操作。 apply[user|group] 限制应用规则的用户类别。对于 item[user|ruser|group]这没有意义但对于 item[tty|rhost|shell]它有意义。 quiet 不将服务拒绝或缺少列表文件视为需要记录的错误。
提供的模块类型
提供所有模块类型auth, account, password 和 session。
返回值 PAM_AUTH_ERR 认证失败。 PAM_BUF_ERR 内存缓冲区错误。 PAM_IGNORE 规则不适用于 apply 选项。 PAM_SERVICE_ERR 服务模块中的错误。 PAM_SUCCESS 成功。
示例-vsftpd黑名单禁止某些用户访问ftp服务
# 拒绝 /etc/ftpusers 文件中列出的用户访问 ftp 服务
auth required pam_listfile.so \onerrsucceed itemuser sensedeny file/etc/vsftpd/ftpusers
注意/etc/vsftpd/ftpusers 文件中列出的用户不允许访问 vsftp 服务。
示例-login白名单只允许某些用户可以console登录用户
在 /etc/pam.d/login 中使用如下条目
# 允许 /etc/loginusers 文件中列出的用户登录
auth required pam_listfile.so \onerrfail itemuser senseallow file/etc/loginusers
在这个例子中所有被允许使用登录服务的用户都应该列在 /etc/loginusers 文件中。除非你明确尝试锁定 root 用户否则确保将 root 列入 /etc/loginusers 文件或者列出能够切换到 root 账户的用户。
示例-sshd黑名单不允许某些用户通过ssh登录
前提当前sshd配置了UsePAM yes。
在 /etc/pam.d/sshd中使用如下条目
#%PAM-1.0 auth required pam_sepermit.soauth required pam_listfile.so itemuser sensedeny file/etc/ssh/sshd.deny onerrsucceed auth include password-auth
该文件禁止访问ssh的黑名单列表/etc/ssh/sshd.deny
在/var/log/secure日志文件中会记录相关日志如下是在auth和session模块分别实验的日志记录都有效
pam_listfile(sshd_bak:session): Refused user user1 for service sshd pam_listfile(sshd_bak:auth): Refused user user1 for service sshd
示例-su目标用户白名单只允许su到某些用户
在 /etc/pam.d/sshd中使用如下条目
auth required pam_wheel.so use_uid groupgroupa
auth required pam_listfile.so itemuser senseallow onerrfail file/etc/security/su-groupa-access
该文件允许su切的白名单列表/etc/security/su-groupa-access
如果文件中添加root则只允许su切到root如果su切到其他用户包含本用户也是不被允许的。