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