Linux对用户帐户禁用Shell/FTP访问
时间:2020-01-09 14:17:04 来源:igfitidea点击:
如何在CentOS Linux下禁用FTP访问和Shell访问。
如何在不删除用户帐户的情况下在Linux下禁用对新用户或旧用户的Shell(SSH)和FTP访问?
您可以使用以下命令轻松禁用对用户的shell,ssh和FTP访问题描述:
- chsh命令:用来更改您的登录shell。
- /sbin/nologin:显示一条消息,说明帐户不可用,并且退出非零值。它旨在用作已禁用帐户的替换shell程序字段。
禁用Linux用户shell程序帐户
执行以下命令以禁用对tom的shell访问题描述:
# chsh -s /sbin/nologin {username} # chsh -s /sbin/nologin tom
输出示例:
Changing shell for tom Shell changed.
其中:
- -s/sbin/nologin:礼貌地拒绝登录
- tom:您希望拒绝shell访问的用户名。
禁用Linux FTP用户帐户
如果您具有VSFTPD ftp服务器或其他FTP服务器,则将用户添加到/etc/ftpusers或/etc/vsftpd/ftpusers(VSFTPD)文件中。
# echo tom >> /etc/ftpuser
或者
# echo tom >> /etc/vsftpd/ftpusers
添加到/etc/ftpusers或/etc/vsftpd/ftpusers中的任何用户名都将阻止他们登录FTP。
但是,这仍然允许用户通过电子邮件(webmail或pop3/IMAP)登录并下载无需shell访问的电子邮件。
关于PAM和access.conf的说明
除了上述两种方法外,Linux还支持pam和access.conf登录表。
Pam模块可用于启用或禁用对某些服务的访问,例如vsftpd,ssh等。
/etc/security/access.conf充当登录访问控制表,可用于基于IP地址,网络位置或tty名称拒绝或登录访问。
当某人登录时,将在文件中扫描与(用户,主机)组合匹配的第一个条目,或者在非网络登录的情况下,与(用户,tty)组合匹配的第一个条目。
该表条目的权限字段确定登录是被接受还是被拒绝。
了解如何使用pam模块启用或禁用登录访问。
例如拒绝访问tom,在/etc/security/access.conf中输入以下内容
- : tom : ALL
其中:
-
: 拒绝访问。授予访问权限的+字符(加号)或拒绝访问的-字符(减号)。- tom:用户名。它应该是一个或多个登录名,组名或ALL(始终匹配)的列表。
- ALL:拒绝所有IP地址的访问。