FreeBSD 5.4: 'cp -p' does not behave as documented

Gabriel O'Brien obrieng at nm.cbc.ca
Mon Aug 28 18:13:09 UTC 2006


Hi folks,

FreeBSD 5.4-RELEASE-p6 i386

We have a script in our environment that is used to back up our mail 
logs.  In essence it does:

cp -p /var/log/maillog.0.bz2 /stats/maillogs/maillog-testcopy.bz2

According to the cp man page:

<snip>

-p  Cause cp to preserve the following attributes of each source file
     in the copy: modification time, access time, file flags, file mode,
     user ID, and group ID, as allowed by permissions.

     If the user ID and group ID cannot be preserved, no error message
     is displayed and the exit value is not altered.

<snip>

However, when I run this script or when I do a cp -p manually I am seeing:

cp: chown: /stats/maillogs/maillog-copy-test.bz2: Permission denied

For the record the user does not actually have permissions to do the 
chown, however we would still like to use 'cp -p' in order to preserve 
the remainder of the attributes and according to the docs this should be 
possible.  Does anybody have any insight?

I note this issue does not appear to exist on our FreeBSD 6.1 boxes.

cheers,
Gabriel O'Brien


More information about the freebsd-questions mailing list