secure_rpc(3c) 맨 페이지 - 윈디하나의 솔라나라

개요

섹션
맨 페이지 이름
검색(S)

secure_rpc(3c)

secure_rpc(3C)           Standard C Library Functions           secure_rpc(3C)

NAME
       secure_rpc,  authdes_getucred, authdes_seccreate, getnetname, host2net‐
       name, key_decryptsession,  key_encryptsession,  key_gendes,  key_setse‐
       cret,  key_secretkey_is_set, netname2host, netname2user, user2netname -
       library routines for secure remote procedure calls

SYNOPSIS
       #include <rpc/rpc.h>
       #include <sys/types.h>


       int authdes_getucred(const struct authdes_cred *adc, uid_t *uidp,
            gid_t *gidp, short *gidlenp, gid_t *gidlist);


       AUTH *authdes_seccreate(const char *name, const uint_t window,
            const char *timehost, ckey);


       int getnetname(char name [MAXNETNAMELEN+1]);


       int host2netname(char name [MAXNETNAMELEN+1], const char *host,
            const char *domain);


       int key_decryptsession(const char *remotename, des_block *deskey);


       int key_encryptsession(const char *remotename, des_block *deskey);


       int key_gendes(des_block *deskey);


       int key_setsecret(const char *key);


       int key_secretkey_is_set(void)


       int netname2host(const char *name, char *host, const int hostlen);


       int netname2user(const char *name, uid_t *uidp, gid_t *gidp, int *gidlenp,
            gid_t *gidlist [NGRPS]);


       int user2netname(char name [MAXNETNAMELEN+1], const uid_t uid,
            const char *domain);

DESCRIPTION
       The RPC library functions allow C programs to make procedure  calls  on
       other machines across the network.


       RPC supports various authentication flavors. Among them are:

       AUTH_NONE    No authentication (none).


       AUTH_SYS     Traditional UNIX-style authentication.


       AUTH_DES     DES encryption-based authentication.



       The  authdes_getucred() and authdes_seccreate() functions implement the
       AUTH_DES authentication style. The keyserver daemon keyserv(8) must  be
       running  for the AUTH_DES authentication system to work and keylogin(1)
       must have been run. The AUTH_DES style of authentication  is  discussed
       here.  For  information about the AUTH_NONE and AUTH_SYS flavors of au‐
       thentication, refer to rpc_clnt_auth(3C). See rpc(3C) for  the  defini‐
       tion of the AUTH data structure.


       The  following  functions  documented on this page are MT-Safe. For the
       MT-levels of other authentication styles, see relevant man pages.

       authdes_getucred()      This is the first of two functions that  inter‐
                               face  to  the  RPC secure authentication system
                               AUTH_DES. The second is the authdes_seccreate()
                               function. The  authdes_getucred()  function  is
                               used  on the server side to convert an AUTH_DES
                               credential, which is operating system  indepen‐
                               dent,   to  an  AUTH_SYS  credential.  The  au‐
                               thdes_getucred() function returns 1 if it  suc‐
                               ceeds, 0 if it fails.

                               The *uidp parameter is set to the user's numer‐
                               ical  ID associated with adc. The *gidp parame‐
                               ter is set to the numerical ID  of  the  user's
                               group.  The *gidlist parameter contains the nu‐
                               merical IDs of the other groups  to  which  the
                               user  belongs. The *gidlenp parameter is set to
                               the number of valid group ID entries  specified
                               by the *gidlist parameter.

                               The  authdes_getucred()  function  fails if the
                               authdes_cred structure  was  created  with  the
                               netname  of  a  host.  In  such  a  case,  net‐
                               name2host() should be used to get the host name
                               from  the  host  netname  in  the  authdes_cred
                               structure.


       authdes_seccreate()     The second of two AUTH_DES authentication func‐
                               tions, the authdes_seccreate() function is used
                               on  the client side to return an authentication
                               handle that enables the use of the  secure  au‐
                               thentication  system.  The  first  field, name,
                               specifies the network name netname of the owner
                               of the server process. The field usually repre‐
                               sents a hostname  derived  from  the  host2net‐
                               name() utility, but the field might also repre‐
                               sent  a  user name converted with the user2net‐
                               name() utility.

                               The second field, window, specifies the  valid‐
                               ity of the client credential in seconds. If the
                               difference  in  time between the client's clock
                               and the  server's  clock  exceeds  window,  the
                               server rejects the client's credentials and the
                               clock  will  have to be resynchronized. A small
                               window is more secure than  a  large  one,  but
                               choosing  too small a window increases the fre‐
                               quency of resynchronization due to clock drift.

                               The third parameter, timehost,  is  the  host's
                               name  and is optional. If timehost is NULL, the
                               authentication system assumes  that  the  local
                               clock is always in sync with the timehost clock
                               and  does  not  attempt resynchronization. If a
                               timehost is supplied, the system  consults  the
                               remote  time service whenever resynchronization
                               is required. The timehost parameter is  usually
                               the  name  of  the  host on which the server is
                               running.

                               The final parameter, ckey, is also optional. If
                               ckey is NULL, the authentication system  gener‐
                               ates  a  random  DES key to be used for the en‐
                               cryption of credentials. If ckey  is  supplied,
                               it is used for encryption.

                               If authdes_seccreate() fails, it returns NULL.


       getnetname()            This  function  returns  the  unique, operating
                               system independent netname of the caller in the
                               fixed-length array name. The function returns 1
                               if it succeeds and 0 if it fails.


       host2netname()          This function converts a domain-specific  host‐
                               name  host  to  an operating system independent
                               netname. The function returns 1 if it  succeeds
                               and  0 if it fails. The host2netname() function
                               is the inverse of the netname2host()  function.
                               If  the domain is NULL, host2netname() uses the
                               default domain name of the machine. If host  is
                               NULL,  it  defaults  to that machine itself. If
                               domain is NULL and host is an NIS name such  as
                               myhost.sun.example.com,    the   host2netname()
                               function uses the domain sun.example.com rather
                               than the default domain name of the machine.


       key_decryptsession()    This function is an interface to the  keyserver
                               daemon,  which  is associated with RPC's secure
                               authentication  system  (AUTH_DES   authentica‐
                               tion).   User  programs  rarely  need  to  call
                               key_decryptsession() or  the  associated  func‐
                               tions  key_encryptsession(),  key_gendes(), and
                               key_setsecret().

                               The  key_decryptsession()  function   takes   a
                               server netname remotename and a DES key deskey,
                               and decrypts the key by using the public key of
                               the  server  and the secret key associated with
                               the effective UID of the calling  process.  The
                               key_decryptsession() function is the inverse of
                               the key_encryptsession() function.


       key_encryptsession()    This  function  is  a  keyserver interface that
                               takes a server netname remotename and a DES key
                               deskey, and encrypts the key using  the  public
                               key of the server and the secret key associated
                               with  the effective UID of the calling process.
                               If the keyserver does not have a key registered
                               for the UID, it falls back to using the  secret
                               key  for the netname nobody unless this feature
                               has been disabled. See keyserv(8). The  key_en‐
                               cryptsession()  function  is the inverse of the
                               key_decryptsession() function. The key_encrypt‐
                               session() function returns 0 if it succeeds, −1
                               if it fails.


       key_gendes()            This is a keyserver interface function used  to
                               ask  the  keyserver  for  a secure conversation
                               key. Selecting a conversion key  at  random  is
                               generally not secure because the common ways of
                               choosing  random numbers are too easy to guess.
                               The key_gendes() function returns 0 if it  suc‐
                               ceeds, −1 if it fails.


       key_setsecret()         This  is a keyserver interface function used to
                               set the key for the effective UID of the  call‐
                               ing process. This function returns 0 if it suc‐
                               ceeds, −1 if it fails.


       key_secretkey_is_set()  This  is a keyserver interface function used to
                               determine if a key has been set for the  effec‐
                               tive  UID  of  the calling process. If the key‐
                               server has a key stored for the  effective  UID
                               of    the    calling   process,   the   key_se‐
                               cretkey_is_set() function returns 1.  Otherwise
                               it returns 0.


       netname2host()          This  function converts an operating system in‐
                               dependent netname  name  to  a  domain-specific
                               hostname  host.  The  hostlen  parameter is the
                               maximum size of host. The netname2host()  func‐
                               tion  returns  1  if  it  succeeds  and 0 if it
                               fails. The  function  is  the  inverse  of  the
                               host2netname() function.


       netname2user()          This  function converts an operating system in‐
                               dependent netname to a domain-specific user ID.
                               The netname2user() function  returns  1  if  it
                               succeeds and 0 if it fails. The function is the
                               inverse of the user2netname() function.

                               The *uidp parameter is set to the user's numer‐
                               ical ID associated with name. The *gidp parame‐
                               ter  is  set  to the numerical ID of the user's
                               group. The gidlist parameter contains  the  nu‐
                               merical  IDs  of  the other groups to which the
                               user belongs. The *gidlenp parameter is set  to
                               the  number of valid group ID entries specified
                               by the gidlist parameter.


       user2netname()          This function converts a domain-specific  user‐
                               name  to  an  operating system independent net‐
                               name. The user2netname() function returns 1  if
                               it  succeeds and 0 if it fails. The function is
                               the inverse of netname2user() function.


ATTRIBUTES
       See attributes(7) for descriptions of the following attributes:

       tab() box; cw(2.75i) |cw(2.75i) lw(2.75i) |lw(2.75i) ATTRIBUTE  TYPEAT‐
       TRIBUTE VALUE _ MT-LevelMT-Safe


SEE ALSO
       chkey(1),  keylogin(1), rpc(3C), rpc_clnt_auth(3C), attributes(7), key‐
       serv(8), newkey(8)

Oracle Solaris 11.4               27 Nov 2017                   secure_rpc(3C)
맨 페이지 내용의 저작권은 맨 페이지 작성자에게 있습니다.
RSS ATOM XHTML 5 CSS3