gd_chmod

Changes file permissions of a file on a Globus resource.

  

Syntax

gd_chmod(host,remotefile,mode)

gd_chmod(host,remotefile,mode,command)   

 

Description

gd_chmod(host,remotefile,mode) where host is a string describing the resource. It could be in one of the following formats:

- hostname

- hostname:port

- hostname/service

- hostname:port/service

The second argument remotefile is a string describing the full name of the file starting from root '/'. The final argument mode is a string describing the permissions of the file. The permission of a file can be either a symbolic representation of changes to make, or an octal number representing the bit pattern for the new permissions (see below).

  

gd_chmod(host,remotefile,mode,command) as above, except the argument command is a string specifying the absolute path of the chmod command on the Globus resource.

 

Input arguments

mode               The argument mode may have two alternative forms:

 

1. Symbolic representation:

A combination of the letters `ugoa' controls which users' access to the file will be changed: the user who owns it (u), other users in the file's group (g), other users not in the file's group (o), or all users (a).

 

The operator '+' causes the permissions selected to be added to the existing permissions of each file; '-' causes them to be removed; and '=' causes them to be the only permissions that the file has.

 

The letters 'rwxXstugo' select the new permissions for the affected users: read (r), write (w), execute (or access for directories) (x), execute only if the file is a directory or already has execute permission for some user (X), set user or group ID on execution (s), sticky (t), the permissions granted to the user who owns the file (u), the permissions granted to other users who are members of the file's group (g), and the permissions granted to users that are in neither of the two preceding categories (o).

 

2. Octal number representation:

A numeric mode is from one to four octal digits (0-7), derived by adding up the bits with values 4, 2, and 1. Any omitted digits are assumed to be leading zeros.  The first digit selects the set user ID (4) and set group ID (2) and sticky (1) attributes. The second digit selects permissions for the user who owns the file: read (4), write (2), and execute (1); the third selects permissions for other users in the file's group, with the same values; and the fourth for other users not in the file's group, with the same values.

 

For example, 0750 gives rwx permissions to the owner and rx permissions to the group.

   

Examples

To give read/write/execute permissions to the owner and read/execute permissions to the group of a file named '/tmp/foo' which is on a Globus resource called 'server.domain.com', you can use:

 

gd_chmod('server.domain.com','/tmp/foo','0750');

 

To remove group execute permissions from of the same file you can use:

 

gd_chmod('server.domain.com','/tmp/foo','g-x');

 

Notes

A valid proxy certificate is required to use this function.

 

See also

gd_fileexists, gd_listdir

 



gd_certinfo

contents

gd_condorsubmit

Copyright © 2007, The Geodise Project, University of Southampton