Linux:如何为特定用户禁用任何类型的远程控制?

Linux:如何为特定用户禁用任何类型的远程控制?

如何禁用任何类型的远程控制(SSH,X,NFS,SMB,...还有什么?
对于特定用户

或者反过来问:如何禁用远程控制
除特定用户外的所有用户

有没有办法在一个地方完成这一切?
(通过将用户放入某个组,或者

答案1

  • SSH使用用户名和密码进行身份验证/授权。
  • NFS 服务器使用 IP 地址进行安装身份验证/授权,并在使用单个文件时使用用户 ID(使用常规 Unix 权限)。它还可以使用其他方法,如 Kerberos。无论如何,这个想法是安装授权是按机器而不是按用户进行的。
  • 桑巴大多数情况下使用用户名和密码进行挂载 ( security = user),我认为 CIFS 也支持在访问单个文件时使用 UID,就像 NFS 一样。用户名和密码通常存储在名为 的文件中passdb.tdb,而不是 中/etc/shadow,因此passwd不会更改 Samba 用户的密码。
  • X使用 IP 地址进行身份验证/授权或 cookie。

如您所见,没有简单的方法可以为特定用户启用/禁用对这些服务的访问。

LE:一些网络服务,包括 RPC(由 NFS 使用)和 SSH,使用hosts_access基于主机的身份验证/授权机制 ( man hosts_access)。您需要为此编辑/etc/hosts.allow/etc/hosts.deny。与 iptables 相比,其优点是您不需要知道服务的端口,但并非所有服务都支持此机制。偏执的人会同时使用两者 :-)

LE2:hosts_access也支持用户名,但据我所知这是不安全的。

答案2

我不太确定 SMB 和 NFS,因为我从来没用过它们。在我的服务器上,SSH 是唯一可用于远程访问的服务,我可以使用 sshd_config 中的 AllowUser 指令来限制它们的访问。最新版本的 OpenSSH 有一个可以配置的内部 sftp 客户端(没有外部依赖项)。这使得设置仅对 chroot 目录具有 sftp 访问权限的用户变得相对容易——例如当他们需要更新 Web 内容等时。

Subsystem sftp internal-sftp

MatchUser Joe
  ForceCommand internal-sftp
  ChrootDirectory /var/www

the chroot dir and all above it must be:
* owned by root
* not group or other writable 

答案3

您想了解 PAM:http://www.kernel.org/pub/linux/libs/pam/

干杯

答案4

带有默认 DROP 的限制性 IPTABLES 防火墙会非常有效(不要忘记为您自己和本地主机留一个漏洞)。;-) 手动逐个端口添加“允许”主机的静态 IP。没有 IP 不提供服务。注意:这不会阻止允许主机的允许端口隧道。此外,正如 Cristian Ciuputu 提到的(赞成票... ;-),samba 有一个“允许主机”部分,NFS 有一个您导出到的范围,可以禁用 X 转发,并且可以阻止或拒绝 ssh。

相关内容