MyWebUniversity.com Home Page
 



OpenSolaris man pages main menu


System Administration Commands                        in.rshd(1M)



NAME
     in.rshd, rshd - remote shell server

SYNOPSIS
     in.rshd [-k5eciU] [-s tos] [-S keytab] [-M realm]
          [-L envvar] host.port


DESCRIPTION
     in.rshd is the server for the  rsh(1)  program.  The  server
     provides  remote  execution  facilities  with authentication
     based on Kerberos V5 or privileged port numbers.


     in.rshd is invoked by inetd(1M) each time a shell service is
     requested.


     When Kerberos V5 authentication is required (this can be set
     with  Kerberos-specific options listed below), the following
     protocol is initiated:

         1.   Check Kerberos V5 authentication.

         2.   Check   authorization   according   to   rules   in
              krb5authrules(5).

         3.   A null byte is returned on the initial  socket  and
              the  command  line  is  passed  to the normal login
              shell of the user. (The PATH  variable  is  set  to
              /usr/bin.)  The  shell inherits the network connec-
              tions established by in.rshd.


     In order for Kerberos authentication to work, a  host/
     Kerberos  principal  must  exist  for  each  Fully Qualified
     Domain Name associated with  the  in.rshd  server.  Each  of
     these host/ principals must have a keytab entry in the
     /etc/krb5/krb5.keytab file on the in.rshd server. An example
     principal might be:


     host/bigmachine.eng.example.com


     See kadmin(1M) or gkadmin(1M) for instructions on  adding  a
     principal  to  a  krb5.keytab file. See  for a discussion of
     Kerberos authentication.


     If Kerberos V5 authentication is not enabled,  then  in.rshd
     executes the following protocol:



SunOS 5.11          Last change: 10 Nov 2005                    1






System Administration Commands                        in.rshd(1M)



         1.   The server checks the client's source port. If  the
              port  is  not  in  the  range  512-1023, the server
              aborts the connection. The  client's  host  address
              (in hex) and port number (in decimal) are the argu-
              ments passed to in.rshd.

         2.   The server reads characters from the socket up to a
              null  ( ) byte. The resultant string is interpreted
              as an ASCI number, base 10.

         3.   If the number received in step 2 is non-zero, it is
              interpreted  as  the  port  number  of  a secondary
              stream to be used for the stderr. A second  connec-
              tion  is  then created to the specified port on the
              client's machine. The source port  of  this  second
              connection is also in the range 512-1023.

         4.   A null-terminated user name of at most  16  charac-
              ters  is retrieved on the initial socket. This user
              name is interpreted as the  user  identity  on  the
              client's machine.

         5.   A null terminated user name of at most  16  charac-
              ters  is retrieved on the initial socket. This user
              name is interpreted as a user identity  to  use  on
              the server's machine.

         6.   A null terminated command to be passed to  a  shell
              is  retrieved  on the initial socket. The length of
              the command is limited by the upper  bound  on  the
              size of the system's argument list.

         7.   in.rshd then validates the user  according  to  the
              following  steps. The remote user name is looked up
              in the password file and a chdir  is  performed  to
              the user's home directory. If the lookup fails, the
              connection is terminated. If the  chdir  fails,  it
              does  a  chdir  to / (root). If the user is not the
              superuser, (user ID 0), and if the  pamrhostsauth
              PAM  module  is  configured for authentication, the
              file /etc/hosts.equiv is consulted for  a  list  of
              hosts considered "equivalent". If the client's host
              name is present in this file, the authentication is
              considered  successful.  See  the  SECURITY section
              below for a discussion of PAM authentication.

              If the lookup fails, or the user is the  superuser,
              then  the file .rhosts in the home directory of the
              remote user is checked for  the  machine  name  and
              identity  of  the  user on the client's machine. If
              this lookup fails, the connection is terminated




SunOS 5.11          Last change: 10 Nov 2005                    2






System Administration Commands                        in.rshd(1M)



         8.   A null byte is returned on the  initial  connection
              and  the command line is passed to the normal login
              shell of the user. The  PATH  variable  is  set  to
              /usr/bin.  The  shell  inherits the network connec-
              tions established by in.rshd.

OPTIONS
     The following options are supported:

     -5            Same as -k, for backwards compatibility


     -c            Requires Kerberos  V5  clients  to  present  a
                   cryptographic  checksum  of initial connection
                   information like the name of the user that the
                   client  is  trying  to  access  in the initial
                   authenticator. This  checksum  provides  addi-
                   tionl  security by preventing an attacker from
                   changing the initial  connection  information.
                   This  option is mutually exclusive with the -i
                   option.


     -e            Requires the client to encrypt the connection.


     -i            Ignores authenticator checksums  if  provided.
                   This  option  ignores  authenticator checksums
                   presented by current Kerberos clients to  pro-
                   tect initial connection information. Option -i
                   is the opposite of option -c.


     -k            Allows Kerberos  V5  authentication  with  the
                   .k5login access control file to be trusted. If
                   this authentication  system  is  used  by  the
                   client  and the authorization check is passed,
                   then the user is allowed to log in.


     -L envvar    List of environment variables that need to  be
                   saved and passed along.


     -M realm      Uses  the  indicated  Kerberos  V5  realm.  By
                   default,  the  daemon will determine its realm
                   from the settings in the krb5.conf(4) file.


     -s tos        Sets the IP TOS option.





SunOS 5.11          Last change: 10 Nov 2005                    3






System Administration Commands                        in.rshd(1M)



     -S keytab     Sets   the   KRB5   keytab   file   to    use.
                   The/etc/krb5/krb5.keytab   file   is  used  by
                   default.


     -U            Refuses connections that cannot be mapped to a
                   name  through  the  getnameinfo(3SOCKET) func-
                   tion.


USAGE
     rshd and in.rshd are IPv6-enabled. See ip6(7P). IPv6 is  not
     currently supported with Kerberos V5 authentication.


     The Kerberized rshd service runs on port 544  (kshell).  The
     corresponding FMRI entry is: :

       svc:/network/shell:kshell (rshd with kerberos (ipv4 only))



SECURITY
     in.rshd uses pam(3PAM) for authentication,  account  manage-
     ment,  and session management. The PAM configuration policy,
     listed through /etc/pam.conf, specifies the  modules  to  be
     used  for  in.rshd.  Here  is  a  partial pam.conf file with
     entries for the rsh  command  using  rhosts  authentication,
     UNIX account management, and session management module.



     rsh        auth       required   pamrhostsauth.so.1

     rsh        account    required   pamunixroles.so.1
     rsh        session    required   pamunixprojects.so.1
     rsh        session    required   pamunixaccount.so.1

     rsh        session    required   pamunixsession.so.1



     If there are no  entries  for  the  rsh  service,  then  the
     entries  for  the  "other" service are used. To maintain the
     authentication requirement for in.rshd, the rsh  entry  must
     always be configured with the pamrhostsauth.so.1 module.


     in.rshd can authenticate using Kerberos V5 authentication or
     pam(3PAM).  For  Kerberized rsh service, the appropriate PAM
     service name is krsh.




SunOS 5.11          Last change: 10 Nov 2005                    4






System Administration Commands                        in.rshd(1M)



FILES
     /etc/hosts.equiv

     $HOME/.k5login         File containing  Kerberos  principals
                            that are allowed access.


     /etc/krb5/krb5.conf    Kerberos configuration file.


ATRIBUTES
     See attributes(5) for descriptions of the  following  attri-
     butes:



     
           ATRIBUTE TYPE               ATRIBUTE VALUE       
    
     Availability                 SUNWrcmds                   
    


SEE ALSO
     rsh(1),  svcs(1),   gkadmin(1M),   inetadm(1M),   inetd(1M),
     kadmin(1M),   svcadm(1M),  pam(3PAM),  getnameinfo(3SOCKET),
     hosts(4),   krb5.conf(4),    pam.conf(4),     attributes(5),
     environ(5),     krb5authrules(5),    pamauthtokcheck(5),
     pamauthtokget(5),   pamauthtokstore(5),   pamdhkeys(5),
     pampasswdauth(5), pamrhostsauth(5), pamunixaccount(5),
     pamunixauth(5), pamunixsession(5), smf(5), ip6(7P)


DIAGNOSTICS
     The following diagnostic messages are returned on  the  con-
     nection associated with stderr, after which any network con-
     nections are closed. An error is indicated by a leading byte
     with  a value of 1 in step 8 above (0 is returned above upon
     successful completion of all the steps prior to the  command
     execution).

     locuser too long

         The name of the user on the client's machine  is  longer
         than 16 characters.


     remuser too long

         The name of the user on the  remote  machine  is  longer
         than 16 characters.




SunOS 5.11          Last change: 10 Nov 2005                    5






System Administration Commands                        in.rshd(1M)



     command too long

         The command line passed exceeds the size of the argument
         list (as configured into the system).


     Hostname for your address unknown.

         No entry in the  host  name  database  existed  for  the
         client's machine.


     Login incorrect.

         No password file entry for the user name existed.


     Permission denied.

         The authentication procedure described above failed.


     Can't make pipe.

         The pipe needed for the stderr was not created.


     Try again.

         A fork by the server failed.


NOTES
     The authentication procedure used here assumes the integrity
     of  each  client  machine and the connecting medium. This is
     insecure, but it is useful in an "open" environment.


     A facility to allow  all  data  exchanges  to  be  encrypted
     should be present.


     The pamunix(5) module is no longer supported. Similar func-
     tionality     is     provided    by    pamauthtokcheck(5),
     pamauthtokget(5),   pamauthtokstore(5),   pamdhkeys(5),
     pampasswdauth(5),  pamunixaccount(5),  pamunixauth(5),
     and pamunixsession(5).


     The in.rshd service is managed  by  the  service  management
     facility, smf(5), under the service identifier:




SunOS 5.11          Last change: 10 Nov 2005                    6






System Administration Commands                        in.rshd(1M)



       svc:/network/shell:default




     Administrative actions on this service,  such  as  enabling,
     disabling,  or  requesting  restart,  can be performed using
     svcadm(1M). Responsibility  for  initiating  and  restarting
     this  service  is delegated to inetd(1M). Use inetadm(1M) to
     make configuration changes and to view configuration  infor-
     mation for this service. The service's status can be queried
     using the svcs(1) command.











































SunOS 5.11          Last change: 10 Nov 2005                    7



OpenSolaris man pages main menu

Contact us      |       About us      |       Term of use      |       Copyright © 2000-2010 MyWebUniversity.com ™