50.15. How to Change File Ownership Without chown
Unix systems with disk
quotas (Section 15.11) won't let you change the
owner (Section 50.14) of a file; only the
superuser can use chown. Here's a
workaround for those systems.
-d Section 8.5, -f Section 14.10
The file's current owner should make sure that the
new owner has write permission on the directory where the file is and
read permission on the file itself:
jerry% ls -dl . afile
drwxr-xr-x 2 jerry 512 Aug 10 12:20 .
-rw-r--r-- 1 jerry 1934 Aug 10 09:34 afile
jerry% chmod go+w .
The new owner (logged in as herself) should rename the file, make a
copy, and delete the original file. If the new owner is there at the
same time, su (Section 49.9) is probably the fastest way to change
jerry% su laura
laura% mv afile afile.tmp
laura% cp -p afile.tmp afile
laura% ls -l afile
-rw-r--r-- 1 laura 1934 Aug 10 09:34 afile
laura% rm -f afile.tmp
jerry% chmod go-w .
The cp -p
(Section 10.12) command preserves the
file's original permissions and last modification
time. After the new owner (laura) is done
copying, the old owner (jerry) takes away the
directory's write permission again. Now
laura can edit afile,
change its modes, and so on: she owns it.
Copyright © 2003 O'Reilly & Associates. All rights reserved.