[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[netCDF #MEJ-623272]: NC_DISKLESS file permissions question



Charlie,

This is fixed in tonight's snapshot and fix will be in upcoming release.

--Russ

> > I am using rc1, not a snapshot, so far as I know:
> >
> > address@hidden:~/nco$ ncks --lib
> > Linked to netCDF library version 4.2.1-rc1, compiled Jun 21 2012 22:52:46
> >
> > address@hidden:~/nco$ nc-config --version
> > netCDF 4.2.1-rc1
> >
> > Puzzling. What is your UMASK value?
> 
> It's 0002, but I think I see the problem.  In my testing, I was writing to
> a file that already existed, named "tmp.nc" that had 644 permissions, so
> nccopy wasn't changing the permissions, although it was overwriting the
> file.  Apparently the bug is still there for creating a new file, it looks
> like it ignores the umask value in that case:
> 
> $ umask
> 0002
> $ nccopy test1.nc tmp.nc && ls -l tmp.nc
> -rw-rw-r-- 1 russ ustaff 108 Jun 27 13:41 tmp.nc
> $ nccopy -w test0.nc tmp.nc && ls -l tmp.nc
> -rw-rw-r-- 1 russ ustaff 104 Jun 27 13:41 tmp.nc
> $ rm tmp.nc
> $ nccopy -w test0.nc tmp.nc && ls -l tmp.nc
> -rwxrwxr-x 1 russ ustaff 104 Jun 27 13:42 tmp.nc
> 
> Thanks for reporting this!  We'll try to fix it for real, this time ...
> 
> --Russ
> 
> > On 06/27/2012 11:47 AM, Unidata netCDF Support wrote:
> > > Charlie,
> > >
> > > I should have also pointed out that the fix takes UMASK into account,
> > > rather than just setting the output file permissions to 644 ...
> > >
> > > --Russ
> > >
> > >>> What sets/controls the permissions on files nc_create()'d
> > >>> with NC_DISKLESS? NCO normally creates files with UNIX
> > >>> permissions 644 (octal), but those created with NC_DISKLESS have
> > >>> mode 755. Wondering what the recommended way is to ensure
> > >>> files are created with 644 permissions. I can invoke
> > >>> chmod() from within NCO if necessary, though this seems
> > >>> rather baroque.
> > >>>
> > >>> nccopy exhibits this behavior too, as shown here:
> > >>>
> > >>> address@hidden:~$ nccopy -r -w ~/nco/data/in.nc ~/foo.nc
> > >>> address@hidden:~$ ls -l foo.nc
> > >>> -rwxr-xr-x 1 zender zender 42356 Jun 26 23:36 foo.nc
> > >>> address@hidden:~$ nccopy -r ~/nco/data/in.nc ~/foo.nc
> > >>> address@hidden:~$ ls -l foo.nc
> > >>> -rw-r--r-- 1 zender zender 42356 Jun 26 23:37 foo.nc
> > >>
> > >> This problem is fixed in netcdf-4.2.1-rc1, announced last week.  Are
> > >> you testing on a snapshot release from before that announcement?  I
> > >> just tried it with 4.2.1-rc1 in nccopy, and the files it creates have
> > >> 644 permissions.
> > >>
> > >> Incidentally, I haven't found an example in using nccopy where the
> > >> "-r" option for copying the input file into a diskless file first
> > >> provides a performance improvement.
> > >>
> > >> --Russ
> > >>
> > >> Russ Rew                                         UCAR Unidata Program
> > >> address@hidden                      http://www.unidata.ucar.edu
> > >>
> > >>
> > >
> > > Russ Rew                                         UCAR Unidata Program
> > > address@hidden                      http://www.unidata.ucar.edu
> > >
> > >
> > >
> > > Ticket Details
> > > ===================
> > > Ticket ID: MEJ-623272
> > > Department: Support netCDF
> > > Priority: Normal
> > > Status: Closed
> > >
> > >
> >
> >
> > --
> > Charlie Zender, Department of Earth System Science
> > University of California, Irvine 949-891-2429  )'(
> >
> >
> Russ Rew                                         UCAR Unidata Program
> address@hidden                      http://www.unidata.ucar.edu
> 
> 

Russ Rew                                         UCAR Unidata Program
address@hidden                      http://www.unidata.ucar.edu



Ticket Details
===================
Ticket ID: MEJ-623272
Department: Support netCDF
Priority: Normal
Status: Closed


NOTE: All email exchanges with Unidata User Support are recorded in the Unidata inquiry tracking system and then made publicly available through the web. If you do not want to have your interactions made available in this way, you must let us know in each email you send to us.