Man Linux: Main Page and Category List

NAME

       lfc_chmod  -  change  access  mode  of a LFC directory/file in the name
       server

SYNOPSIS

       #include <sys/types.h>
       #include "lfc_api.h"

       int lfc_chmod (const char *path, mode_t mode)

DESCRIPTION

       lfc_chmod sets the access permission portion  of  the  mode  of  a  LFC
       directory/file in the name server to the bit pattern in mode.

       path   specifies  the  logical  pathname  relative  to  the current LFC
              directory or the full LFC pathname.

       mode   is constructed by OR’ing the bits defined in <sys/stat.h>  under
              Unix or  "statbits.h" under Windows/NT:

              S_ISUID   0004000         set user ID on execution
              S_ISGID   0002000         set group ID on execution
              S_ISVTX   0001000         sticky bit
              S_IRUSR   0000400         read by owner
              S_IWUSR   0000200         write by owner
              S_IXUSR   0000100         execute/search by owner
              S_IRGRP   0000040         read by group
              S_IWGRP   0000020         write by group
              S_IXGRP   0000010         execute/search by group
              S_IROTH   0000004         read by others
              S_IWOTH   0000002         write by others
              S_IXOTH   0000001         execute/search by others

       The  effective  user ID of the process must match the owner of the file
       or the caller must have ADMIN privilege in the  Cupv  database.   If  a
       directory  is  writable  and  has the sticky bit set, files/directories
       within that directory can be removed or renamed only if:

              the effective user ID of the requestor matches the owner  ID  of
              the file or

              the  effective  user ID of the requestor matches the owner ID of
              the directory or

              the file is writable by the requestor or

              the requestor has ADMIN privilege in the Cupv database.

RETURN VALUE

       This routine returns 0 if the operation was successful  or  -1  if  the
       operation failed. In the latter case, serrno is set appropriately.

ERRORS

       EPERM        The effective user ID does not match the owner of the file
                    and the caller does not have ADMIN privilege in  the  Cupv
                    database.

       ENOENT       The  named  file/directory  does  not  exist  or is a null
                    pathname.

       EACCES       Search permission is denied on a  component  of  the  path
                    prefix.

       EFAULT       path is a NULL pointer.

       ENOTDIR      A component of path prefix is not a directory.

       ENAMETOOLONG The  length of path exceeds CA_MAXPATHLEN or the length of
                    a path component exceeds CA_MAXNAMELEN.

       SENOSHOST    Host unknown.

       SENOSSERV    Service unknown.

       SECOMERR     Communication error.

       ENSNACT      Name server is not running or is being shutdown.

SEE ALSO

       Castor_limits(4), lfc_chdir(3), Cupvlist(1)

AUTHOR

       LCG Grid Deployment Team