linux hosts.equiv设置解析
hosts.equiv文件的用途与格式
一、 hosts.equiv 文件的用途
/etc/hosts.equiv 和 $HOME/.rhosts 定义了哪些计算机和用户可以不用提供口令就在本地计算机上执行远程命令,如 rexec,rcp,rlogin 等等。这些不需要提供口令的计算机和用户称为受信任的。
当本地计算机收到执行远程命令的请求时,相应的远程命令服务进程,如 rlogind ,首先检查 /etc/hosts.equiv 来确认请求是否来自受信任的计算机和用户。如果这个文件不存在或者虽然存在但不包括相应的计算机和用户,服务进程就会去检查 $HOME/.rhosts 文件。
/etc/hosts.equiv 的权限必须设置为只有 root 能够写,建议权限为600。如果这个文件被设置为同组或其它用户可写,远程命令服务进程就会忽略它的存在。
如果远程命令是由 root 用户发起的,远程命令服务进程会忽略 /etc/hosts.equiv 文件的存在而去直接检查 $HOME/.rhosts 文件。
在指定受信任的计算机和用户时要非常小心,因为这有可能会造成安全漏洞。
二、 hosts.equiv 文件的格式
添加对计算机/用户的信任:
hostname:信任计算机 hostname 上的所有普通用户
hostname username:信任计算机 hostname 上的用户 username
+:信任所有计算机上的所有普通用户
禁止对计算机/用户的信任:
如果计算机名和用户都没有在 /etc/hosts.equiv 中被定义为受信任的,那么它们就是不受信任的。另外,您还可以用以下方法明确地禁止对计算机/用户的信任。
-hostname:不信任计算机 hostname 上的所有用户
hostname -username: 不信任计算机 hostname 上的用户 username
hosts.equiv 与 NIS :
在 /etc/hosts.equiv 中也可以指定是否信任 NIS 网络组(NETGROUP)。
+@netgroup:信任网络组 netgroup 中的所有计算机
-@netgroup:禁止信任网络组 netgroup 中的所有计算机
hostname +@netgroup:信任来自计算机 hostname 的所有网络组 netgroup 的成员用户的请求
hostname -@netgroup:禁止信任来自计算机 hostname 的所有网络组 netgroup 的成员用户的请求
/etc/hosts.equiv 中记录的顺序:
在 /etc/hosts.equiv 文件中,记录的顺序十分重要。远程命令服务进程在检查 /etc/hosts.equiv 文件时会在第一个匹配发现后返回,也就是说,下面这个例子中的禁止信任记录是不起作用的:
hostname
hostname -user1
计算机 hostname 上的用户 user1 将能够在不提供口令的情况下在本地计算机上执行远程命令。而下面这个例子能够提供期望中的结果:
hostname -user1
hostname
三、/etc/hosts.equiv示例
1. 允许远程计算机 emerald 和 amethyst 上的所有用户在本地执行远程命令而无须提供口令:
emerald
amethyst
2. 允许远程计算机 emerald 上的所有用户和 amethyst 上的用户 greygory 在本地执行远程命令而无须提供口令:
emerald
amethyst gregory
3. 允许用户 peter 从任何远程计算机在本地执行远程命令而无须提供口令:
emerald
amethyst gregory
+ peter
4. 允许所有是 century 网络组成员的远程计算机上的所有用户在本地执行远程命令而无须提供口令:
emerald
amethyst gregory
+ peter
+@century
5. 允许所有在计算机 citrine 上又是 engineers 网络组成员的用户在本地执行远程命令而无须提供口令:
emerald
amethyst gregory
+ peter
+@century
citrine +@engineers
6. 允许所有是 servers 网络组成员的远程计算机上的所有属于 sysadmins 网络组的用户在本地执行远程命令而无须提供口令:
emerald
amethyst gregory
+ peter
+@century
citrine +@engineers
+@server
+@sysadmins
linux hosts.equiv设置解析的更多相关文章
- linux下DNS设置以及解析顺序
1.编辑/etc/resolv.conf文件,添加如下语句: nameserver dns_ip(例如nameserver 8.8.8.8) 2.如/etc/nsswitch.conf中未包含启用DN ...
- Linux 下配置 hosts 并设置免密登录
Linux 下配置 hosts 并设置免密登录 作者:Grey 原文地址: 博客园:Linux 下配置 hosts 并设置免密登录 CSDN:Linux 下配置 hosts 并设置免密登录 说明 实现 ...
- linux ssh 使用深度解析(key登录详解)
SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task Force)的Network Working Gr ...
- linux网络配置完全解析
概述:熟悉了windows下面的网络配置,对linux下的网络配置缺未必了解透彻.熟练掌握linux下的网络配置原理,能帮助我们更容易掌握网络传输原理:同时具备一些网络连接不通对应问题的排查能力.文本 ...
- linux网络基础设置 以及 软件安装
ifconfig #查看所有已激活的网卡信息 临时配置 #yum install net-tools -y 默认ifconfig是没有安装的,可能需要安装 ifconfig eth0 #查看单独一块网 ...
- linux ssh使用深度解析(key登录详解)
linux ssh使用深度解析(key登录详解) SSH全称Secure SHell,顾名思义就是非常安全的shell的意思,SSH协议是IETF(Internet Engineering Task ...
- 【转】Linux 系统如何处理名称解析
原文写的很好:https://blog.arstercz.com/linux-%E7%B3%BB%E7%BB%9F%E5%A6%82%E4%BD%95%E5%A4%84%E7%90%86%E5%90% ...
- linux中怎样设置dhcpd
linux中怎样设置DHCP 在 linux 以下设置 DHCP一点也不复杂﹐您全部要做的仅仅有一个文件﹕/etc/dhcpd.conf . 以下﹐我用我自己的设置文件来说说怎么改动这个文件﹕ d ...
- Linux网络服务01——Linux网络基础设置
Linux网络服务01--Linux网络基础设置 一.查看及测试网络 1.使用ifconfig命令查看网络接口 (1)查看活动的网络接口 ifconfig命令 [root@crushlinux ~]# ...
随机推荐
- dongle --NFC
A dongle is a small piece of hardware that attaches to a computer, TV, or other electronic device in ...
- curl命令踩的坑
使用curl命令执行get请求,带多个参数: curl localhost:/user/binding/query?userId=&wrapperId=&from=test [] [] ...
- 使用celery之了解celery(转)
原文 http://www.dongwm.com/archives/shi-yong-celeryzhi-liao-jie-celery/ 前言 我想很多做开发和运维的都会涉及一件事:cront ...
- Cardano(ADA), EOS, RChain(RHOC), Aeternity(AE) 都是极其好的币
从区块链的基础知识出发,研究ETH和EOS的区别 免责声明:EOS目前还在开发中,我们对此项目的一些理解可能会改变.而且,我并不是以太坊开发者,而只是一个喜欢区块链的爱好者.请牢记这两点,请把下面的内 ...
- spring requestmapping 拦截多个请求
@RequestMapping(value = {"/picture_content/{id}","/attachment_content/{id}",&quo ...
- 使用distcp并行拷贝大数据文件
以前我们介绍的访问HDFS的方法都是单线程的,Hadoop中有一个工具可以让我们并行的拷贝大量数据文件,这个工具就是distcp. distcp的典型应用就是在两个HDFS集群中拷贝文件,如果两个集群 ...
- PAT 1111 Online Map[Dijkstra][dfs]
1111 Online Map(30 分) Input our current position and a destination, an online map can recommend seve ...
- 5.6 Components -- Handling User Interaction with Actions
1. 组件允许你定义可以在整个应用程序中重用的控件.如果它们够通用,它们也可以在被共享给其他人并且在许多应用程序中被使用. 2. 为了使一个可重用的控件有用,然而,你首先需要你的应用程序的用户和它交互 ...
- 自定义 Repository 方法
为某一个 Repository 上添加自定义方法 步骤: 定义一个接口: 声明要添加的, 并自实现的方法 提供该接口的实现类: 类名需在要声明的 Repository 后添加 Impl, 并实现方法 ...
- JavaScript性能优化小窍门汇总(含实例)
在众多语言中,JavaScript已经占有重要的一席之地,利用JavaScript我们可以做很多事情 , 应用广泛.在web应用项目中,需要大量JavaScript的代码,将来也会越来越多.但是由于J ...