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地址的访问。