ITEM: AC0131L

Rdump does not backup ACL information.



Desc:   
  Customer has used the rdump command to make a backup of system a and
  restore the whole system, file by file to system b.  What has happened
  is that he has 1000+ ACL's on system a which were not copied over in
  the backup/restore process.  Customer wants a way to be able to 
    1.  Backup future systems and still have all ACL's.
    2.  Copy all of the ACL's off system a onto system b.

Action:
  Customer must not use the rdump command for backing up files if he 
  wants to keep the ACL files.  After extensive testing, we found that
  the ACLs are only backed up using the backup command.  A command line
  way of  backing up the system with ACL's would be similar to this:
        backup -0 -u -f/dev/\ /dev/hd\#

  Customer now has a problem.  He has already copied these files over
  and people have already made changes to these files.  He cannot 
  simply do another backup of system a and put it on system b.  

  We wrote a script that would go on system a and take every single file
  that had an ACL and aclput the file attributes into the correct place
  on system b without hindering on system performance or changing any of
  the files contents.

Test Data:
 The following was done on lab machines: grumpy and dopey
    the user XXX is on both systems.
\
mkdir /tmp/test
cd /tmp/test
touch test1
touch test2
acledit test1                   // disabled for user XXX
backup -0 -u -f/tmp/foo.bck /tmp
\
ftp dopey                       // get foo.bck
restore -xvf /tmp/foo.bck
aclget /tmp/test/test1          // it WAS disabled for XXX
rm -rf /tmp/test/*
rm /tmp/foo.bck
touch /tmp/foo.bck
\
rdump -0 -u -fgrumpy:/tmp/foo.bck /tmp
\
restore -xvf /tmp/foo.bck
aclget /tmp/test/test1          // NO acl permissions

Script:

 This script will copy ACL information from one machine to the other with 
 rsh.

 This script works except that it cannot handle too many files at one 
 time.  Therefore one must continuously change the directory of 
 reference or else an error Too many words ``  will appear.  Script has
 been tested and is known to work.

\#!/bin/csh
set machine='grumpy'
set directory='/tmp'
set tempfile='/tmp/aclfiles'
if ( -e $tempfile ) mv $tempfile "$tempfile".bak
foreach file ( `find $directory -print` )
  if ( `aclget $file |grep -c enabled` ) then
        echo $file >> $tempfile
        echo "found: $file"
  endif
end
foreach file ( `cat $tempfile` )
  echo "processing: $file"
  aclget $file |rsh $machine aclput $file
end

Action:
 Called customer back.  Explained to him the rdump defect that we had 
 found.  Faxed and e-mail a copy of the script and a copy of the
 backup command line he would use to backup future file systems that
 would keep his ACL information.

 If customer has problems with the script or backup command, will
 callback.

Action:
  Opened PMR \# 9X017 for rdump problem.

   I have called customer and left a detailed msg and I 
 am now waiting for a callback.
   The dumptravrs.c file INTENTIONALLY ifdefs out the
 acl preservation for an rdump. I am trying to talk
 to the cmdarch architects to understand exactly why the
 acl's would be preserved on a backbyinode, but they
 would not want to preserve them for an rdump??
   I will send the customer the mksysb.acl fax if
 he wants it.
   I called Customer again and left a msg that this problem
 has existed since 3.1 of aix and I doubt that this
 will be changed in aix 325.
   I offered to fax him the mksysb.acl fax that preserves 
 and restores the acls. 


Support Line: Rdump does not backup ACL information. ITEM: AC0131L
Dated: October 1994 Category: N/A
This HTML file was generated 99/06/24~13:30:30
Comments or suggestions? Contact us