Linux:允许SSH控制台登录,但不允许基于GDM/KDM/X Windows的登录
时间:2020-01-09 10:43:16 来源:igfitidea点击:
我只想允许ssh或者基于控制台的登录(ssh,su,sudo命令),但限制特定用户在Linux操作系统下使用基于GDM/KDM/X Windows的登录。
如何停止使用GDM/KDM/X Windows登录管理器直接进行GUI用户登录,而仅允许基于文本的登录?
GNOME显示管理器(GDM)或者KDE显示管理器(KDM)为X Window Systems XDM提供了一个更简单的替代(作为XDM的替代品)显示管理器。
限制对GDM/KDM的访问的最简单方法是对GDM或者KDM使用可插拔身份验证模块,该模块为Linux系统中的应用程序和服务提供动态授权。
步骤1:创建拒绝用户列表
创建一个名为/usr/local/etc/kdm.deny或者/usr/local/etc/gdm.deny的文本文件,执行:
# vi /usr/local/etc/gdm.deny
将每个用户名添加在单独的行中。
在此示例中,拒绝访问用户的tom,jerry,spike,tyke,butch等:
tom jerry spike tyke butch
保存并关闭文件。
您可以使用ln命令对kdm使用相同的文件:
# ln -s /usr/local/etc/gdm.deny /usr/local/etc/kdm.deny
这些文件中存在的任何用户名将不再能够通过GDM(GNOME)或者KDM(KDE)系统登录。
但是,这些用户仍可以使用ssh登录或者使用su和/或者sudo命令登录。
步骤2:限制GDM用户登录
编辑/etc/pam.d/gdm,执行:
# vi /etc/pam.d/gdm
追加/修改行,如下所示:
auth required pam_listfile.so onerr=fail item=user sense=deny file=/usr/local/etc/gdm.deny
保存并关闭文件。
步骤3:限制KDM用户登录
编辑/etc/pam.d/kdm,执行:
# vi /etc/pam.d/kdm
追加/修改行,如下所示:
auth required pam_listfile.so onerr=fail item=user sense=deny file=/usr/local/etc/gdm.deny
保存并关闭文件。