The format of hosts.equiv is a list of names, as in this example:
A line consisting of a simple host name means that anyone logging in from that host is trusted. A line consisting of +@group means that all hosts in that network group are trusted. A line consisting of -@group means that hosts in that group are not trusted. Programs scan hosts.equiv linearly, and stop at the first hit (either positive for hostname and +@ entries, or negative for -@ entries). A line consisting of a single + means that everyone is trusted.
The .rhosts file has the same format as hosts.equiv. When user XXX executes rlogin or rsh, the .rhosts file from XXX's home directory is conceptually concatenated onto the end of hosts.equiv for permission checking. However, -@ entries are not sticky. If a user is excluded by a minus entry from hosts.equiv but included in .rhosts, then that user is considered trusted. In the special case when the user is root, then only the /.rhosts file is checked.
It is also possible to have two entries (separated by a single space) on a line of these files. In this case, if the remote host is equivalenced by the first entry, then the user named by the second entry is allowed to log in as anyone, that is, specify any name to the -l flag (provided that name is in the /etc/passwd file, of course). Thus
allows john to log in from sundown as anyone. The usual usage would be to put this entry in the .rhosts file in the home directory for bill . Then john may log in as bill when coming from sundown. The second entry may be a netgroup, thus
allows any user in group2 coming from a host in group1 to log in as anyone.
/etc/hosts.equiv